64

我最近更新到 Xcode 7 并将我的 iPhone 升级到 iOS 9。我开发并发布了一个 iOS 应用程序,它在最新版本的 iOS 8 和 Xcode 6 上运行良好。

在尝试更新应用程序以支持 iOS 9 的过程时,我遇到了一个让我感到困惑的最荒谬的错误。

我已经通过 Xcode 自动完成了所有语法更正,现在我的应用程序可以正确构建。一开始它甚至运行良好。

我有一个按钮可以连接到带有 WebView 的视图控制器。此视图控制器加载一个链接,该链接将显示来自 youtube 的图像、网站或视频。内容像往常一样完美加载。但是,当我单击“后退”按钮(我在导航堆栈上)时,程序将崩溃并重新启动模拟器(和我的 iPhone)并将我发送到锁定屏幕。

在 Xcode 中,我收到以下消息:

XPC 连接中断。由于没有系统应用程序而终止。

顺便说一句,我的应用程序中集成了 Flurry 分析,不确定这是否是一个问题。

我该如何解决这个问题?我对 XPC 连接的搜索似乎没有返回与我类似的问题。我什至不知道 XPC 连接是什么,那为什么我的应用程序中有这个?

编辑:我找到了解决该问题的方法。我真的不能说这是一个修复。

当设置为 true 时,在使用方法 self.navigationController?.popViewControllerAnimated 期间发生崩溃。我碰巧将此设置为 false,然后崩溃停止(现在过渡看起来很糟糕)。

我不知道为什么会这样,只会增加我的困惑。

4

11 回答 11

14

问题也在于我的故事板。我创建了一个新项目并布置了视图,一切似乎都运行良好。我在情节提要源代码中发现了这几行(右键单击情节提要并选择查看为->源代码),这些行在工作版本和损坏版本之间并不常见:

<keyCommands>
    <keyCommand/>
</keyCommands>

我不知道这些行应该做什么,也不知道它们是如何潜入我的故事板文件的,但它们是导致应用程序崩溃的原因,以至于手机不得不重新启动。我从我的主要项目中删除了这些行,一切都恢复了。

于 2015-12-07T17:51:11.510 回答
6

重复执行循环可能会导致此错误。就我而言,这是一个“for”循环,我在其中重置了计数变量。一旦我在循环中添加了一个 NSLog 就很明显了。

于 2017-12-25T23:13:10.363 回答
4

我刚刚遇到了同样的问题。我不知道这是否会对您有所帮助,但我也认为它来自情节提要:

就我而言,问题来自 UITextView。每当我尝试更改其中的默认文本时,都会出现此错误。如果我保留默认文本或将其留空,则该应用程序可以正常工作。制作 IBOutlet 并以编程方式更改文本也可以。

我尝试使用其他 UI 元素,但似乎只有 UITextView 有这个问题。

于 2015-10-30T21:37:50.137 回答
1

我一直在努力解决完全相同的错误。通过消除过程,我确定它与 any 类无关,而与故事板有关。幸运的是,我保留了定期备份副本,并尝试比较故事板以确定我所做的事情 - 但没有发现任何明显的东西。备份副本工作正常,我能够将我的控制器类(从带有更改的错误副本)复制到备份副本中,并且它们工作正常。

我认为情节提要中可能存在错误。

于 2015-10-07T15:35:25.960 回答
1

在 -layoutSubviews 方法中放置子视图时出现相同的错误消息:

-(void)layoutSubviews
{
    [super layoutSubviews];   
    [self populateByImageViews];
}

它会导致布局过程无限循环并导致应用程序崩溃。不要在这个地方放置子视图!

于 2016-07-30T22:40:05.697 回答
0

在 valueChanged: UIControl 的方法中,我遇到了同样的问题,所以我在 valueChanged: 中编写了代码以在主线程中运行,它解决了这个问题。

@IBAction func valueChanged(sender: AnyObject) {
  dispatch_async(dispatch_get_main_queue(), {
  //code
  }
}
于 2016-01-27T11:26:13.817 回答
0

从 Storybord 中的一个视图中删除 UITextView 可以消除我的错误。

于 2015-11-24T12:27:40.333 回答
0

对我来说,这是由IB_DESIGNABLE

如果源文件中有任何 IB_DESIGNABLE,系统的实时跟踪器也会检查 StoryBoard 中的问题。它可能会导致不必要的建筑。

要禁用它-

打开故事板文件。编辑器 -> 自动刷新视图(取消选中)

如果您需要禁用实时问题跟踪

XCode -> Preferences -> General -> Issues -> Uncheck Live Issues

参考

于 2020-04-18T22:21:07.733 回答
0

对我来说,UISearchBar 缺少一些约束,但错误仅在模拟器中。

我只添加了一些约束并且效果更好

于 2019-10-05T15:47:42.810 回答
0

使用时QLPreviewController,我遇到了这个问题。错误信息如下,

XPC connection interrupted
_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)

由于 XPC 表示 OS X 进程间通信,所以我认为这可以解决问题,特别是在更新 UI 时

dispatch_async(dispatch_get_main_queue(), ^{
    // do what you want to do.
});

对于Swift 4+,用户

 DispatchQueue.main.async {
      //Your Code
  }
于 2015-12-02T04:46:44.543 回答
0

我的问题可能源于一些故事板问题,但我清理了项目,重新启动了 Xcode 并重新启动了模拟器应用程序并修复了它。

于 2021-02-16T21:12:01.303 回答