【问题标题】:BSXPCMessage received error for message: Connection interrupted on CIContext with iOS 8BSXPCMessage 收到消息错误:使用 iOS 8 在 CIContext 上中断连接
【发布时间】:2014-10-02 14:25:33
【问题描述】:

我的应用程序现在遇到了一些问题。我想创建一个 CIContext :

CIContext *myContext = [CIContext contextWithOptions:nil];

但是在启动应用程序时,此行在控制台中返回以下消息:“BSXPCMessage received error for message: Connection interrupted”

当我在 iOS 8(模拟器或设备)上启动应用程序时出现此消息,但在 iOS 7 模拟器上没有(我没有设备可以尝试)。我尝试了很多方法来解决这个问题,比如在另一个项目中尝试,在另一个 Mac 上,在另一个文件上调用这个方法......我认为它来自 iOS 8。

它不会改变我的图像处理(我使用上下文的),但如果有警告,就有问题需要解决。

感谢您的帮助:)

【问题讨论】:

  • 物理 7.1.2 设备上也没有消息,而不仅仅是模拟器上。看起来我们为 bugreporter 找到了一个错误

标签: objective-c core-image


【解决方案1】:

我遇到了同样的问题:我在 iOS 8 中收到“BSXPCMessage...”消息,但在 iOS 7 中没有。

我追踪到我创建 CIContext 的位置:

self.ciContext = [CIContext contextWithOptions:@{kCIContextUseSoftwareRenderer : @(NO)}];

如果您将 kCIContextUseSoftwareRenderer 设置为 YES,错误就会消失。也许 iOS 8 需要你启用 CPU 渲染?

【讨论】:

  • 谢谢@anna-dickinson!这是 Swift 中的代码:let context = CIContext(options:[kCIContextUseSoftwareRenderer : true])
  • 软件渲染器是不是比较慢?
  • 我没有进行任何测量,但我认为这取决于上下文——每种情况下的开销不同。我还认为,“使用软件渲染器”可能意味着“允许使用软件渲染器”——而不是“仅使用软件渲染器”。所以,也许它会在可能的情况下使用 GPU。文档在这一点上还不清楚。
  • 速度慢很多。我遇到了这个错误并尝试了解决方案,但它从需要 2 秒生成到几乎 10 秒......
【解决方案2】:

连接中断意味着有问题的 XPC 连接被中断(连接的远程退出或可能崩溃)。假设对方是 XPC Service、App Extension 或 Launch Daemon,这通常不是致命的,通过 launchd 重启服务会恢复连接。

此时是否有任何崩溃日志保存到 ~/Library/Logs/DiagnosticReports?

此时您在设备的系统日志中看到了什么有趣的东西吗?

除了意外消息之外,还有什么错误发生吗?

【讨论】:

  • 感谢您的回答,~/Library/Logs/DiagnosticReports 和设备的日志中都没有登录,除了这条消息之外没有发生任何错误。
猜你喜欢
  • 2014-11-21
  • 2015-12-18
  • 1970-01-01
  • 2015-04-09
  • 2018-05-22
  • 2019-08-08
  • 1970-01-01
  • 1970-01-01
  • 2017-07-03
相关资源
最近更新 更多