_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/osx官方直接下载地址(离线下载)

xcode/osx官方直接下载地址(离线下载)

Xcode各版本

Xcode 8 Beta 6 不支持 iOS 10 Beta 7 sdk

将 Xcode 6 beta 6 更新到 beta 7 后出现“可选错误”

Xcode 7.5 beta-选择器'accessibilityValue'的未知实例方法