I am getting the following error when I am running my code in Xcode7 with Swift2, after presenting a view controller through a push segue:
_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)
The other SO articles had no resolution, does anyone know about this issue?
答案 0 :(得分:21)
虽然这个问题似乎仍然存在,并且可能会被修复,但它源于iOS 9中实现的新的 App Transport Security 。
如果您的应用程序从Web服务器提取数据,为了填充您将要呈现的View Controller,您可以通过验证/授予访问权限来解决这些 错误 到您要拉的特定网站。
您可能希望更改 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文档也值得一读。
答案 1 :(得分:17)
我有两个错误消息。在我的情况下,当用户在打开的[[UIApplication sharedApplication] openURL:url]
中选择了一个按钮后调用UIAlertController
时出现错误。我假设警报试图关闭,同时我试图打开URL。所以,我引入了一点延迟,错误消息就消失了。
dispatch_after(0.2, dispatch_get_main_queue(), ^{
[[UIApplication sharedApplication] openURL:url];
});
不确定这是否会对您的特定问题有所帮助,但我认为分享可能会有所帮助。
答案 2 :(得分:3)
将info.plist中的本地化本机开发区域键从en更改为美国
答案 3 :(得分:3)
过早地解除视图控制器可能会导致此问题。
[self dismissViewControllerAnimated:YES completion:NULL];
//<do something..>
抛出_BSMachErrors
VS
//<do something..>
[self dismissViewControllerAnimated:YES completion:NULL];
现在,_BSMachError消失了。
答案 4 :(得分:2)
我在使用键盘时遇到了这些错误。根据Apple Docs中的这一说明,这有点预期。
答案 5 :(得分:2)
我这样做
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { () -> Void in
AnswersDataServerEntity.saveSingleDocoment(doc)
}
答案 6 :(得分:0)
在IBAction Button下方发表此声明导致了这个问题。
self.view.endEditing(true)
这个问题在Swift 3中已经修复,通过注释掉上面的行并以不同的方式处理结束编辑,或者也可以修复在IBAction下的所有其他代码之后添加上面的行。
答案 7 :(得分:0)
我在调试时遇到了这个问题,当我在对视图大小更改的响应中删除断点时,它就消失了。