Reputation: 2084
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?
Upvotes: 59
Views: 26339
Reputation: 1
I had this problem while debugging and it disappeared when I removed a breakpoint in my response to the view size changing.
Upvotes: 0
Reputation: 12383
Having this statement right below IBAction Button was causing the issue.
self.view.endEditing(true)
The issue was fixed in Swift 3, by commenting out the above line and handling the end editing in a different way, or can also be fixed adding the above line after all other code under IBAction.
Upvotes: 0
Reputation: 31
Dismissing view controller prematurely might cause this.
[self dismissViewControllerAnimated:YES completion:NULL];
//<do something..>
This throws _BSMachErrors
vs
//<do something..>
[self dismissViewControllerAnimated:YES completion:NULL];
Now, the _BSMachError is gone.
Upvotes: 3
Reputation: 6861
I make like that
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { () -> Void in
AnswersDataServerEntity.saveSingleDocoment(doc)
}
Upvotes: 2
Reputation: 3843
Change the Localization native development region key in your info.plist from en to United States
Upvotes: 3
Reputation: 750
I got these errors when I was using the keyboard. According to this note in Apple Docs, this is somewhat expected.
http://cocoadocs.org/docsets/Keyboard/0.3.0/
Upvotes: 2
Reputation: 1833
I had the same two error messages. In my case, the errors were appearing when I called [[UIApplication sharedApplication] openURL:url]
after the user selected a button in an open UIAlertController
. I assumed the alert was trying to close at the same time I was trying to open the URL. So, I introduced a slight delay and the error message went away.
dispatch_after(0.2, dispatch_get_main_queue(), ^{
[[UIApplication sharedApplication] openURL:url];
});
Not sure if this helps with your particular problem, but I thought it might be helpful to share.
Upvotes: 17
Reputation: 2810
Although this problem seems to persist as a bug and will likely be fixed, it stems from the new App Transport Security that has been implemented in iOS 9.
If your application pulls data from a web server, in order to populate the View Controller that you will be presenting, you can resolve these errors by verifying/granting access to the particular site(s) you're pulling from.
You may want to alter your ATS Exception Dictionary to fit your needs
<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>
More details to this solution can be found here or here The Apple Documentation for App Transport Security is worth reading too.
Upvotes: 21