l'application iOS avec cadre s'est écrasé sur le périphérique, dyld: la Bibliothèque n'est pas chargé, Xcode 6 Bêta
Ce crash a été un problème de blocage, j'ai utilisé les étapes suivantes pour reproduire le problème:
- Créer une Cocoa Touch Cadre du projet
- Ajouter rapidement un fichier et une classe Chien
- Construire un cadre pour l'appareil
- Créer une Vue Unique de l'application Swift
- D'importation dans le cadre de projet d'application
- Instancier swift classe à partir du cadre dans ViewController
- Construire et exécuter une application sur le périphérique
L'application immédiate s'est écrasé lors du lancement, voici le journal de la console:
dyld: Library not loaded: @rpath/FrameworkTest03.framework/FrameworkTest03
Referenced from: /var/mobile/Applications/FA6BAAC8-1AAD-49B4-8326-F30F66458CB6/FrameworkTest03App.app/FrameworkTest03App
Reason: image not found
J'ai essayé de construire sur iOS 7.1 et 8.0 appareils, ils ont tous deux le même incident. Cependant, je peux construire une application et d'exécuter le simulateur d'amende. Aussi, je suis conscient que je peux modifier le cadre pour former Nécessaire à Facultatif dans Lien Binaire Avec les Bibliothèques, mais il n'a pas complètement résoudre le problème, l'application s'est écrasé quand je crée une instance de Chien. Le comportement est différent sur l'appareil et sur simulateur, je crois que nous ne pouvons pas distribuer un cadre pour l'appareil à l'aide d'une version bêta de Xcode. Quelqu'un peut-il éclairer sur ce point?
- Ce que je ne comprends pas, c'est pourquoi tous les autres tiers des cadres de travail hors de la boîte et peut facilement être glissé et déposé dans
Link Binary with Libraries
et en quelque sorte Xcode sait pour les copier dans votre application bundle, alors que pour personnalisée des cadres cela ne veut tout simplement pas se produire. - sazzad hissain khan réponse ici stackoverflow.com/questions/26024100/... c'est la meilleure réponse..
- Découvrez ce stackoverflow.com/a/52129141/2020034. Il fonctionne
- vous pouvez faire une grosse bibliothèque , vous pouvez voir ce lien : stackoverflow.com/a/54977145/3992606
- Xcode version ne correspond pas, résolu avec stackoverflow.com/a/55738882/5443510 .
Vous devez vous connecter pour publier un commentaire.
Dans la cible Général onglet, il y a un Intégré Binaires champ. Lorsque vous ajoutez le cadre de l'incident est résolu.
De référence est ici sur les Forums des Développeurs Apple.
Found an unexpected Mach-O header
d'erreur lorsque vous essayez de générer de l'iap. Une idée?Pour iOS supérieure ou égale à 8
Sous l'onglet Général, dans le sous-Binaires section ajoutez le cadre. Cela va copier le cadre dans la compilation de sorte qu'il peut être lié à l'exécution.
Pourquoi est-ce arrivé? :, parce que le cadre que vous le lien est compilé en tant que liée dynamiquement cadre et est donc lié à l'exécution.
** Note:** Intégration personnalisée des cadres est pris en charge uniquement dans iOS > 8, et donc une autre solution qui fonctionne sur les anciennes versions d'iOS suit.
Pour iOS moins de 8
Si vous avez de l'influence de ce cadre (accès au code source/processus de construction), vous pouvez modifier ce cadre de manière statique liée et non liée de façon dynamique. Cela va entraîner le code à inclure dans votre application compilée plutôt que d'être lié à au moment de l'exécution, et donc le cadre n'aura pas à être incorporé.
** Comment:** dans le cadre de la Construire onglet Paramètre, dans le lien entre l'article, changer la de Mach-O, Type à la Bibliothèque Statique. Vous devriez maintenant pas besoin d'inclure le cadre intégré binaires.
Y compris les Actifs: D'inclure des éléments tels que des images, de l'audio, ou xib/plume fichiers je recommande la création d'un bundle (essentiellement un répertoire, plus d'info ici peu.ly/ios_bundle) et puis charger les éléments du faisceau à l'aide de NSBundle.
Swift is not supported for static libraries
Tout simplement en faisant glisser le cadre de votre projet ne va pas être assez bon. C'est comme être dans le même ordre de grandeur, mais ne pas être en mesure de trouver vos enfants. Suivez ces étapes:
1) Créer votre cadre
COMMAND
+B
construire votre cadre et de vous assurer de recevoir de Construire "Réussi".2) Accéder à votre cadre
Products
dossier de votre projet..framework
et sélectionnez "Afficher dans le Finder".3) Place dans le cadre de votre projet
.framework
à partir de votre fenêtre de recherche pour votre projet d'application du "Cadre" du dossier.4) Configurer l'application du projet de cadre
+
bouton. Dans la liste déroulante, choisissez "Nouvelle Copie de Fichiers de Phase".Destination
de "Cadres". Laissez le subpath vide. Puis cliquez sur le+
bouton en bas à gauche.5) Propre, puis exécutez votre projet
COMMAND
+SHIFT
+K
COMMAND
+R
Tout d'abord Essayer de construire après la Commande+Option+Maj+K .Si échoue toujours, alors ne les étapes ci-dessous.
Si quelqu'un est confronté à cette erreur dans Xcode 8 puis changer votre statut cadre à Facultatif au lieu de Requis en vertu de l'Onglet Général de votre cible.
J'ai créé un cadre à l'aide Swift3/Xcode 8.1, et a été de les consommer dans un Objectif-C/Xcode 8.1 projet. Pour résoudre ce problème que j'ai eu pour activer
Always Embed Swift Standard Libraries
option sousBuild Options
.Regardez cette capture d'écran:
Embedded Binaries
section. Alors, pourquoi est-ce qu'il fonctionne?J'ai eu le même genre de problème dans iOS 9.x version
J'ai résolu ce problème en changeant
Required
àOptional
dansLinked Frameworks and Libraries
pourUserNotifications.framework
cadre.Vous avez besoin d'ajouter un cadre à une nouvelle Copie de Fichiers de la Phase de construction pour s'assurer que le cadre est copié dans le bundle de l'application lors de l'exécution..
Voir Comment ajouter un "Copier des Fichiers de la phase de construction" à ma Cible pour plus d'informations.
Officiel D'Apple Docs: https://developer.apple.com/library/mac/recipes/xcode_help-project_editor/Articles/CreatingaCopyFilesBuildPhase.html
J'ai dû (sur le dessus de ce qui est mentionné ici) ajoutez la ligne suivante à Runpath Chemins de Recherche sous Paramètres de construction de la onglet:
@executable_path/Frameworks
Ajoutez le cadre Intégré de fichiers Binaires
Puis Nettoyer et Construire.
Dans mon cas, la solution a été de supprimer le compilé cadre de l'Embedded Binaires, qui était un projet autonome dans l'espace de travail, de nettoyer et de le reconstruire, et enfin re-ajouter Incorporée Binaires.
Étonnamment, pas toutes les pièces nécessaires sont documentées ici, au moins pour Xcode 8.
Mon cas était une coutume construit dans le cadre d'un même espace de travail. Il s'avère qu'il a été construit de manière incorrecte. Basé sur jeremyhu dernière réponse à ce fil:
https://forums.developer.apple.com/thread/4687
J'ai dû mettre
Dynamic Library Install Name Base
(DYLIB_INSTALL_NAME_BASE
) sousBuild Settings
de la Cadre Projet et ensuite de le reconstruire. Il a été défini incorrectement$(LOCAL_LIBRARY_DIR)
et j'ai dû changer de@rpath
.Donc dans le lien étape de traitement dans le Application Projet, il a été de former l'Application hôte pour charger dynamiquement le cadre au moment de l'exécution de
/Library/Frameworks/fw.Framework/fw
(comme dans la racine de l'exécution du système de fichiers) plutôt que de le chemin d'accès de l'Application/Frameworks/fw.Framework/fw
À l'égard de tous les autres paramètres: il ne être à 3 endroits dans
Build Phases
, mais ils sont tous ensemble à la fois lorsque vous l'ajoutez à laEmbedded Binaries
réglage de laGeneral
onglet de l'Application d'hébergement.Je n'ai pas avez à mettre en place un supplément de
Copy Files
phase, ce qui semble intuitivement redondantes par rapport à l'étape de l'enrobage de toute façon. En cochant la fin de la queue de la version de la transcription, nous nous assurons que ce n'est pas nécessaire.[De nombreux détaillé de lignes supprimées, mais il est clair à partir de la simplification de la transcription dans le Xcode de l'INTERFACE utilisateur.]
J'ai encore pas idée pourquoi Xcode définir la
DYLIB_INSTALL_NAME_BASE
valeur incorrecte sur moi.Si vous êtes à l'aide d'un tiers cadre, et à l'aide de Cocoapods comme votre dépendance à l'manager, essayez de faire une
pod install
pour actualiser vos gousses.Cet accident est survenu sur une bibliothèque tierce, j'ai été en utilisant, si heureux que cette solution a fonctionné pour moi, espérons que cela fonctionne pour vous!
Si vous utilisez Xcode 11 ou plus récent:
Faites défiler vers le bas pour des Cadres, des Bibliothèques et de Contenu Intégré.
Assurez-vous que le Embed & Signe ou Intégrer Sans Signature valeur est sélectionnée pour la Intégrer option si nécessaire.
Mon environnement: Cocos2d 2.0, Box2d, Objective-C
En plus de faire de l'autre les réponses ci-dessus je me suis finalement allé à l'onglet Général et fait WatchKit Facultatif.
Résolu pour moi en désélectionnant "Copier uniquement lorsque installé" sur les Phases de construction->Intégrer les Cadres de
J'ai eu le même problème. J'ai essayé avec la construction de mon projet avec un iPhone que je n'ai jamais utilisé avant, et je n'ai pas l'ajout d'un nouveau cadre. Pour moi, le nettoyage a bien fonctionné (Maj+Commande+K). C'est peut-être parce que j'utilise la version beta 5 de Xcode 7 et un iPhone 6 avec iOS 9 Beta, mais cela a fonctionné.
Dans mon cas, mon projet est écrit en objective-c et dans la bibliothèque il y a Swift fichiers. J'ai donc changé "Toujours Intégrer Swift Bibliothèques Standard" dans mon projet de Paramètres de construction de la onglet pour Oui et il est devenu totalement d'accord.
Si ont le développement de la gousse de Supprimer votre application de simulateur installer à partir de pod -> nettoyez - > exécuter à nouveau...
La même chose a été lorsque j'ai créé un nouveau de génération et de Configuration Système.
Donc la solution pour moi a été de courir
de cette nouvelle Configuration.
Après avoir essayé toutes les méthodes disponibles sur internet, et de mes propres essais et d'erreurs trucs 100 fois. Finalement j'ai réussi à le résoudre. – Apeksha Sahu 6 minutes ago
Goto iTunes sous Mac --> comptes-->d'Autoriser cet ordinateur – Apeksha Sahu 5 mins ago
la deuxième étape.... Goto développeur dans les paramètres de l'iPad et de l'iPhone et de revisiter avec des identifiants et clair confiance aux ordinateurs tout. Il a travaillé pour moi........ ....... Après la réinstallation de Mac OSHigh seria 10.13.15 version de Mac OS seirra bêta version la plus récente, à la réinstallation de Xcode version la plus récente, après la mise à jour de tous les certificats. etc etc etc... autant de méthodes que vous pouvez penser que j'ai fait. –
Essayer avec un changement de pavillon
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
(dans les précédentes versions de xcode:Embedded Content Contains Swift Code
) dans les Paramètres de génération de NON à OUI.Xcode 11
C'est une erreur d'exécution est provoquée par
Dynamic Linker
L'erreur
Library not loaded
avec@rpath
[à Propos] indique queDynamic Linker
ne trouve pas le cadre.Vérifier si le cadre a été ajouté à
General -> Embedded Binaries
Vérifier si le
@rpath
-Build Settings -> Runpath Search Paths
contient un chemin d'accès avec la même destination/subpath comme ce fut le programme d'installation enBuild Phases -> Embed Frameworks -> Destination, Subpath
Étapes ci-dessus résolu mon issuses.
Dans Xcode 11
J'ai été confrontée au même problème
Changer "Ne permet Pas d'Intégrer" dans Onglet Général > "des Cadres, des Bibliothèques et des Contenus" était encore résultant de la même erreur.
Qu'avez résolu pour moi a été l'ajout de la Cadre dans Phases de construction de l'Onglet > Intégrer les Cadres de la section
--Mis à jour---
J'ai observé que, dans les projets réalisés dans les précédentes versions de Xcode Intégrer les Cadres de la Section n'est pas disponible lors de l'exécution dans Xcode 11, Trouver les étapes ci-dessous pour obtenir la solution:
1: tout d'Abord besoin d'ajouter de la Nouvelle Copie de Fichiers de la Phase sous Phases de construction onglet.
2: Deuxième changer le nom de l'ajout de la phase de Intégrer des Cadres
3: Modification de la destination de Cadres.
4: Ajoutez le cadre pour lequel l'erreur s'est produite.
Au cas où quelqu'un est toujours confronté à ce problème, en dépit de toutes les étapes décrites dans de nombreux autres réponses, vous devrez peut-être révoquer et recréer votre certificat de signature de code, comme suit:
https://developer.apple.com/library/ios/qa/qa1886/_index.html