Lorsque je lance mon application avec XCode, j'ai un crash mais pas d'erreur.
L'application s'arrête juste sur ce fil
Que puis-je faire pour avoir plus d'informations sur ce problème ?
J'ai bien un framework personnalisé et il est répertorié sous "Embedded Binaries" dans le projet Xcode sous Target > General. Je rencontre toujours ce problème lorsque j'essaie d'exécuter mes tests unitaires. J'ai récemment mis à niveau les parties Swift de mon code vers Swift 3 (au lieu de 2). Si cela peut aider...
MarioAGuzman Comment l'avez-vous résolu ? Je rencontre également ce problème après la migration vers Swift 3.
@iOS Malheureusement, je n'avais pas de véritable solution. Le problème s'est résolu de lui-même avec Xcode 8.3 qui vient d'être publié.
Nettoyer, nettoyer le dossier de construction, supprimer le contenu du dossier des données dérivées, installer Pod (le cas échéant), redémarrer Xcode, redémarrer la machine ; puis étaler du sang d'agneau sur la porte pour faire bonne mesure.
La suppression du répertoire et l'obtention du dernier commit de git n'ont pas aidé, mais le nettoyage et la reconstruction ont aidé. lol
L'ajout du framework à la liste des actifs binaires intégrés a réglé ce problème. Voici à quoi ressemble la configuration d'un framework étranger dans sa forme finale dans l'interface graphique de Xcode en tant que framework embarqué (Xcode 9.2, personnellement je préfère un fil d'Ariane visuel ;-) ) :
Apple a-t-elle intentionnellement fait planter le runtime pour informer le développeur du fait qu'il n'est pas possible d'utiliser des frameworks non-Apple comme des frameworks simplement liés dans le développement iOS ? Il serait préférable que cela apparaisse comme une erreur de construction, je pense... avec un bouton qui dit "déplacez-le !".
L'utilisation de binaires intégrés évite à l'utilisateur final de devoir ajouter le framework indépendamment de votre application (ou de devoir le faire avec un installateur). Dans le cas de l'iPhone (iOS), c'est impossible, mais sur macOS, c'est possible mais cela peut vite devenir compliqué.
Pour l'utilisateur final, il est beaucoup plus agréable de glisser-déposer une application pour l'installer sur macOS, et c'est là que l'intégration devient un avantage. L'intégration évite également les classiques "conflits de DLL" liés à la gestion de versions externes de votre framework. (l'espace disque est bon marché, le temps de mon client est précieux).
Petite mise à jour. Xcode 10.1 vous permet maintenant de faire glisser le framework personnalisé de la section "Link Binary With Libraries", où il va par défaut, vers la section "Copy Bundle Resources" où il doit être... Il ne s'agit plus seulement de copier la référence mais aussi de la déplacer. Capture d'écran ici : stackoverflow.com/questions/24993752/
Je viens de corriger l'erreur dans mon projet !
Si vous utilisez le framework swift dans un projet Object-C, je vous conseille de changer les paramètres de construction.
L'option Always Embed Swift Standard Libraries (Toujours intégrer les bibliothèques standard de Swift) doit être réglée sur YES :
J'espère que cela vous a été utile.
Super mec, je me suis battu avec ce problème pendant 1,5 jours. j'ai même trouvé cette belle matrice twitter.com/isupportmatrix je l'ai changé pour qu'il soit nécessaire de le résoudre à mes côtés aussi
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.