_BSMachError XCode 7 Beta
Posted
技术标签:
【中文标题】_BSMachError XCode 7 Beta【英文标题】: 【发布时间】:2015-09-01 22:27:51 【问题描述】:当我在 Xcode7 中使用 Swift2 运行我的代码时,在通过 push segue 呈现视图控制器后,我收到以下错误:
_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)
其他SO文章没有解决,有人知道这个问题吗?
【问题讨论】:
我在运行 Xcode 版本 7.0 (7A218) 时遇到了同样的问题。发现模式还为时过早;刚刚注意到。 Same here...在 viewDidDisappear 中设置断点后第一次得到它 这里相同,在 Xcode 7.0 (7A220) 中使用 Objc。 同样,在 Xcode 7 GM 上遇到问题 当我旋转我的 iPhone 6 ios 9.2 时,我在 7.2 版(非测试版)中得到它。我在屏幕上有两个 webView,并且没有使用网络(发生错误时)。我的 webView 似乎画得不那么快,这并不明显,但我有一些 javascript 可以测量各种事物,这些事物在发生此错误的同时报告不正确的结果。 【参考方案1】:虽然这个问题似乎作为一个错误持续存在并且可能会得到修复,但它源于 iOS 9 中已实施的新 App Transport Security。
如果您的应用程序从 Web 服务器中提取数据,以填充您将呈现的视图控制器,您可以通过验证/授予访问权限来解决这些错误到您要从中提取的特定网站。
为了解决这个问题,您将在应用的 .plist 文件中添加以下内容:
您可能需要更改您的 ATS 异常字典以满足您的需要
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>testdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<false/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<false/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSThirdPartyExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSRequiresCertificateTransparency</key>
<false/>
</dict>
</dict>
</dict>
有关此解决方案的更多详细信息,请参阅 here 或 here App Transport Security 的 Apple 文档也值得一读。
【讨论】:
我制作了一个没有任何网络活动的简单测试应用程序,但仍然出现此错误。似乎它与核心布局功能有关。你的回答似乎无关紧要。 @NKorotkov 错误可能来自多种情况,请参阅 Mark L 的回答【参考方案2】:我收到了同样的两条错误消息。就我而言,当我在用户选择打开的UIAlertController
中的按钮后调用[[UIApplication sharedApplication] openURL:url]
时出现错误。我假设警报试图在我试图打开 URL 的同时关闭。所以,我引入了一点延迟,错误消息就消失了。
dispatch_after(0.2, dispatch_get_main_queue(), ^
[[UIApplication sharedApplication] openURL:url];
);
不确定这是否有助于解决您的特定问题,但我认为分享一下可能会有所帮助。
【讨论】:
这为我解决了问题。我正在使用 documentInteractionController 显示 PDF 并添加延迟使错误消失。谢谢!【参考方案3】:将 info.plist 中的 Localization native development region 键从 en 更改为 United States
【讨论】:
或英国 :)【参考方案4】:过早关闭视图控制器可能会导致这种情况。
[self dismissViewControllerAnimated:YES completion:NULL];
//<do something..>
这会引发 _BSMachErrors
对
//<do something..>
[self dismissViewControllerAnimated:YES completion:NULL];
现在,_BSMachError 消失了。
【讨论】:
【参考方案5】:我在使用键盘时遇到了这些错误。根据 Apple Docs 中的注释,这在某种程度上是意料之中的。
http://cocoadocs.org/docsets/Keyboard/0.3.0/
【讨论】:
我认为这些不是 Apple Docs,而是第三方的文档。 true,这是使用 CocoaDocs 生成的,它看起来类似于 Apple 的文档,但是是用户生成的。它是指贝尔应用实验室设计的特定应用程序【参考方案6】:我就是这样的
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) () -> Void in
AnswersDataServerEntity.saveSingleDocoment(doc)
【讨论】:
【参考方案7】:在 IBAction Button 下方有此语句会导致问题。
self.view.endEditing(true)
这个问题在 Swift 3 中得到解决,通过注释掉上面的行并以不同的方式处理结束编辑,或者也可以在 IBAction 下的所有其他代码之后添加上面的行来修复。
【讨论】:
【参考方案8】:我在调试时遇到了这个问题,当我在响应视图大小更改时删除断点时它消失了。
【讨论】:
欢迎来到 ***!为了将来参考,请尝试在 cmets 部分发布类似的其他问题,因为这实际上不是解决方案。谢谢以上是关于_BSMachError XCode 7 Beta的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 8 Beta 6 不支持 iOS 10 Beta 7 sdk