2015-10-27 1 views
3

J'ai soumis l'application à la révision bêta sur app store et je suis tombé en panne sur libswiftCore.dylib pendant l'application didFinishLoadWithRequest. Lorsque je compile et exécute du code via Xcode, tout fonctionne correctement. Lorsque je télécharge sur Testflight et que l'utilisateur ouvre directement en utilisant le bouton ouvert de Testflight, il se bloque. Cependant, il ne plante pas lorsqu'il est ouvert via le tiroir de l'application en cliquant sur l'icône de l'application après l'installation de testflight. Ne se bloque que lorsqu'il est ouvert directement à partir de testflight et également lors de la soumission de l'application. Le journal des pannes est joint hereios: libswiftCore.dylib crash swift

+0

Voulez-vous dire application didFinishLaunchingWithOptions, plutôt que didFinishLoadWithRequest? En outre, je ne suis pas complètement sûr de ce qu'est le "tiroir d'application". Voulez-vous dire l'écran d'accueil (ou Springboard, que personne ne dit)? – ConfusedByCode

Répondre

1

Une application disposera de différentes options de lancement dans le dictionnaire des options en fonction du mode de lancement de l'application. Étant donné que l'application ne plante que dans certaines situations, je suppose que vous essayez d'accéder à une clé d'option de lancement qui n'est pas présente lorsque l'application est lancée à partir d'une autre application. Je ne peux pas mettre le doigt votre problème exact sans voir votre code, mais voici un exemple d'une cause possible de votre problème:

if let options = launchOptions { 
    let shortcut: UIApplicationShortcutItem = options[UIApplicationLaunchOptionsShortcutItemKey]! 
} 

Si votre application est lancée à partir d'une autre application, il ne sera pas cette clé, si implicitement déballer cela provoquera un accident. Ou vous ne pouvez pas gérer le UIApplicationLaunchOptionsSourceApplicationKey correctement. Vérifiez-les, et vous trouverez probablement le problème.

+0

Merci @ConfusedByCode J'avais déjà une option de lancement pour la notification à distance qui a causé le crash. – meteors