web-dev-qa-db-fra.com

_BSMachError XCode 7 Beta

Je reçois le message d'erreur suivant lorsque j'exécute mon code dans Xcode7 avec Swift2, après avoir présenté un contrôleur de vue via une séquence Push:

_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)

Les autres articles SO n'avaient pas de résolution. Quelqu'un est-il au courant de ce problème?

59
mattgabor

Bien que ce problème semble persister en tant que bogue et sera probablement résolu, il provient de la nouvelle sécurité du transport d'application qui a été implémentée dans iOS 9.

Si votre application extrait des données d'un serveur Web, vous pouvez résoudre ces problèmes afin de remplir le contrôleur de vue que vous allez présenter errors en vérifiant/accordant l'accès au (x) site (s) particulier (s) à partir duquel vous vous insérez.

Afin de résoudre ce problème, vous ajouterez ce qui suit au fichier .plist de votre application:

  • Vous pouvez modifier votre dictionnaire des exceptions ATS en fonction de vos besoins.

    <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>
    

Plus de détails sur cette solution peuvent être trouvés ici ou ici Le Apple Documentation pour App Transport Security vaut également la peine d'être lu.

21
ChrisHaze

J'ai eu les deux mêmes messages d'erreur. Dans mon cas, les erreurs apparaissaient lorsque j'ai appelé [[UIApplication sharedApplication] openURL:url] après que l'utilisateur a sélectionné un bouton dans un fichier UIAlertController ouvert. J'ai supposé que l'alerte essayait de se fermer en même temps que j'essayais d'ouvrir l'URL. Alors, j'ai introduit un léger retard et le message d'erreur est parti.

dispatch_after(0.2, dispatch_get_main_queue(), ^{
    [[UIApplication sharedApplication] openURL:url];
});

Je ne sais pas si cela vous aide à résoudre votre problème, mais j’ai pensé qu’il pourrait être utile de le partager.

17
nurider

Cela pourrait entraîner la suppression prématurée du contrôleur de vue.

[self dismissViewControllerAnimated:YES completion:NULL]; 
//<do something..>

Cela jette _BSMachErrors

contre

//<do something..>
[self dismissViewControllerAnimated:YES completion:NULL]; 

Maintenant, _BSMachError est parti.

3
ychoi

Remplacez la clé Région de développement natif par la localisation dans votre info.plist de en vers États-Unis.

3
user1079052

Je fais comme ça

 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { () -> Void in
        AnswersDataServerEntity.saveSingleDocoment(doc)
    }
2
Alexander Khitev

J'ai eu ces erreurs quand j'utilisais le clavier. Selon cette note dans Apple Docs, cela est quelque peu attendu.

http://cocoadocs.org/docsets/Keyboard/0.3.0/

2
Mark Lummus

Avoir cette déclaration juste en dessous de IBAction Button était à l'origine du problème.

self.view.endEditing(true)

Le problème a été corrigé dans Swift 3, en commentant la ligne ci-dessus et en gérant la modification finale, ou peut également être résolu en ajoutant la ligne ci-dessus après tout autre code sous IBAction.

0
Naishta

J'ai eu ce problème lors du débogage et il a disparu lorsque j'ai supprimé un point d'arrêt dans ma réponse au changement de taille de la vue.

0
Paul