2016-08-15 1 views
0

Au moment où j'ouvre mon application, elle se referme (écrasement présumé). Il n'était pas attaché à mon MacBook lorsqu'il s'est écrasé pour la première fois. Mais quand je l'ai attaché et ouvert Xcode, j'ai vu ça. Xcode-> Périphériques-> Afficher les journaux de périphériques n'a rien à propos de ce problème, peu importe combien de fois je le repo. J'ai donc ouvert le Xcode-> Device-> Console et il imprime quelque chose que l'application "se bloque" (ci-dessous). Lorsque j'ai essayé d'installer la version de débogage, Xcode a reçu des plaintes concernant des profils d'approvisionnement ou des certificats ou quelque chose de ce genre. Il a offert de le réparer automatiquement. Je l'ai fait. Je ne peux plus reproduire le crash sur l'iPhone dans lequel j'ai réinstallé la version de débogage. Mais cela ne veut rien dire de mes bogues de code parce que mon application a l'état et fait différentes choses différemment au démarrage en fonction de ses fichiers de configuration. Il est revenu à l'état frais lorsque j'ai réinstallé la version de débogage. Donc, ma question est, est-ce que les informations de la console ci-dessous signifient que mon application est en train d'être détruite, pas à cause d'un bug de code, mais à cause d'un problème de keychain ou de provisioning profile? Et si c'est le trousseau et que le problème de profil est présent, les installations de mon client souffrent-elles du même "crash"? Je ne suis pas sûr à 100% mais je crois qu'il s'agissait d'installations ad-hoc que je pensais utiliser les mêmes certificats de signature et profils d'approvisionnement que mon exportation iTunes.Dans Xcode-> Devices-> Console, j'obtiens des droits d'accès au trousseau et des profils de provisioning, puis mon application se ferme

Aug 15 12:17:51 iPhone-5-GSM SpringBoard[48] <Error>: SecTrustEvaluate [leaf IssuerCommonName SubjectCommonName] 
Aug 15 12:17:51 iPhone-5-GSM SpringBoard[48] <Error>: SecTrustEvaluate [leaf IssuerCommonName SubjectCommonName] 
Aug 15 12:17:51 iPhone-5-GSM SpringBoard[48] <Error>: SecTrustEvaluate [leaf IssuerCommonName SubjectCommonName] 
Aug 15 12:17:51 iPhone-5-GSM securityd[94] <Error>: secTaskDiagnoseEntitlements MISSING keychain entitlements: no stored taskRef found 
Aug 15 12:17:51 iPhone-5-GSM securityd[94] <Error>: secTaskDiagnoseEntitlements MISSING keychain entitlements: no stored taskRef found 
Aug 15 12:17:51 iPhone-5-GSM amfid[195] <Error>: SecTrustEvaluate [leaf IssuerCommonName SubjectCommonName] 
Aug 15 12:17:51 iPhone-5-GSM securityd[94] <Error>: secTaskDiagnoseEntitlements MISSING keychain entitlements: no stored taskRef found 
Aug 15 12:17:51 iPhone-5-GSM securityd[94] <Error>: secTaskDiagnoseEntitlements MISSING keychain entitlements: no stored taskRef found 
Aug 15 12:17:51 iPhone-5-GSM amfid[195] <Error>: SecTrustEvaluate [leaf IssuerCommonName SubjectCommonName] 
Aug 15 12:17:51 iPhone-5-GSM amfid[195] <Error>: /private/var/containers/Bundle/Application/00000000-0000-0000-0000-03B9C01C0000/MyApp.app/MyApp not valid: 0xe8008015: A valid provisioning profile for this executable was not found. 
Aug 15 12:17:51 iPhone-5-GSM com.apple.xpc.launchd[1] (UIKitApplication:com.MyCompany.MyApp[0xe6e9][249]) <Notice>: Service exited due to signal: Killed: 9 
Aug 15 12:17:51 iPhone-5-GSM assertiond[65] <Warning>: Unable to obtain a task name port right for pid 249: (os/kern) failure (5) 
Aug 15 12:17:51 iPhone-5-GSM SpringBoard[48] <Warning>: Unable to register for exec notifications: No such process 
Aug 15 12:17:51 iPhone-5-GSM SpringBoard[48] <Warning>: Unable to obtain a task name port right for pid 249: (os/kern) failure (5) 
Aug 15 12:17:51 iPhone-5-GSM SpringBoard[48] <Warning>: Unable to obtain a task name port right for <FBApplicationProcess: 0x1a58f5c0; com.MyCompany.MyApp; pid: 249> 
Aug 15 12:17:51 iPhone-5-GSM SpringBoard[48] <Warning>: Application 'UIKitApplication:com.MyCompany.MyApp[0xe6e9]' exited abnormally via signal. 
Aug 15 12:17:51 iPhone-5-GSM SpringBoard[48] <Warning>: Application '(null)' exited for an unknown reason. 

Répondre

0

Oui, iOS est indiquant que votre application ne peut pas fonctionner sur cet appareil, car il n'y a pas un profil de provisionnement iOS valide qui correspond à l'application et le périphérique.

Lorsque vous posez des questions sur vos clients, comment avez-vous déployé l'application pour eux? S'ils ont eu votre application via l'Apple App Store, ils n'auront pas ce problème. Cette application a été signée avec un profil de distribution qui continuera à fonctionner même lorsque vos profils de développement et ad hoc expireront. Vous ne pouvez pas installer une application qui a été signée avec votre profil de distribution de l'App Store. Vous devez donc les avoir signés différemment.

Si vous envoyez les mêmes builds ad hoc à des clients pour les tester, ils verront le même problème. Pour résoudre ce problème, vous devez recréer l'application à l'aide d'un nouveau profil de provisionnement ad hoc valide et le réinstaller sur tous les appareils sur lesquels l'application doit être exécutée.

+0

Merci beaucoup pour votre commentaire. Je suis parti pour quelques jours d'où la réponse tardive. Ma question dit "Je ne suis pas certain à 100% mais je crois que ce sont des installations ad-hoc que je pensais utiliser les mêmes certificats de signature et profils de provisionnement que mon exportation iTunes." J'entends par là que mes clients obtiennent l'App de l'App Store après l'avoir exporté vers iTunes Connect. Mais j'avais forcé le profil de provisioning à être le même pour les builds de release et de distribution. Je crains que cela signifie que mes deux builds ad-hoc et mes exports iTunes Connect utilisent le même profil d'approvisionnement. –

+0

Non, si vous utilisiez une build ad hoc pour la soumettre à l'App Store, elle aurait été rejetée. Apple vérifie la signature du code lorsque vous lui soumettez un fichier binaire. Vous devriez être OK pour vos clients. – wottle