Je crée un cadre iOS avec Xcode6 et iOS8. Lorsque je fais le lien avec une application iOS et que je tente de l'exécuter sur l'appareil, le message d'erreur suivant s'affiche:
dyld: Library not loaded: @rpath/FrameworkName.framework/FrameworkName
Referenced from: /private/var/mobile/Containers/Bundle/Application/0F2C2461-A68B-4ABA-A604-B88E6E9D1BB1/AppName.app/AppName
Reason: image not found
Le paramètre de construction 'Runpath Search Paths' pour la structure est défini par défaut sur
'@executable_path/Frameworks', '@loader_path/Frameworks'
Je n'ai trouvé aucune documentation liée à cela. C'était quelque chose de nouveau introduit avec Xcode6 et je m'attendrais à ce qu'il fonctionne simplement en incluant simplement le cadre dans toute application qui en a besoin.
Faire ce travail
Dans les paramètres du projet d'infrastructure, changez le répertoire d'installation de '/ Library/Frameworks' en '@executable_path /../ Frameworks'
Dans le projet qui inclut ce cadre, ajoutez une phase de copie des fichiers et copiez ce cadre dans le dossier 'Frameworks'. Cela fait, assurez-vous que ce cadre est répertorié dans la section "Binaires incorporés".
Problème résolu avec cette réponse . Selon @ vladof81:
Dans l'onglet Général de la cible, il existe un champ Binaires incorporés. Lorsque vous ajoutez le cadre, le crash est résolu.
La référence est ici sur les forums de développeurs Apple.
Je recevais cette erreur sur une bibliothèque installée via CocoaPods. Nettoyer le dossier de construction (cmd + option + shift + k
) puis faire un nettoyage (cmd + shift + k
) a été ce qui a finalement résolu ce problème.
Pour moi, c’est à cause du problème SSL que j’avais défini les certificats de développeur et de distribution sur mon Mac (trousseau) sur «Toujours faire confiance» pour l’un de mes autres projets. Je devais les remettre à «Utiliser les paramètres par défaut du système». ça fonctionnait pour moi alors !!
Si vous utilisez Carthage
Exécuter carthage update
sur le terminal
Allez dans Paramètres du projet -> Phases de construction -> Frameworks Carthage Copy
Ajouter une ligne dans Entrer des fichiers : $(SRCROOT)/Carthage/Build/iOS/YOURLIBRARY.framework
Ajoutez cette ligne à Fichiers de sortie: $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/TTTAttributedLabel.framework
Outre les solutions ci-dessus, vérifiez à nouveau les chemins des frameworks inclus dans votre application sous
Paramètres de construction -> Chemins de recherche -> Chemins de recherche du framework
Quand aucune de ces solutions ne fonctionne:
.framework
sont ajoutés dans Build Settings -> Framework Search Paths
. Vous pouvez conserver tous les fichiers de structure quelque part dans App/libs/
et ajouter ce dossier et l'activer de manière récursive..a
sont ajoutés dans Build Settings -> Library Search Paths
.Fait la bibliothèque qui montre non chargé changé de requis à facultatif dans les fichiers binaires et les cadres liés. Cela fonctionne parfaitement maintenant
J'ai installé des bibliothèques tierces à l'aide de Cocoapods. Vous avez la même erreur, j'ai tout essayé mais j'ai finalement réalisé que je n'avais pas eu use_frameworks! dans mon fichier pod.
Donc supprimé la bibliothèque actuellement installée, ajouté use_frameworks! ligne dans le fichier pod, réinstallé les bibliothèques et tout a fonctionné pour moi.
J'ai également eu le même genre de problème où je ne pouvais pas lancer l'application et l'application plantait avec le message ci-dessus:
dyld: Bibliothèque non chargée: @ rpath/FrameworkName.framework/FrameworkName Référencé à partir de:/private/var/mobile/Containers/Bundle/Application/xxxxxxxxxxxxxxxxxxx
Raison: image non trouvée
Voici mon approche qui m'a aidé à résoudre cette erreur:
1.Veuillez supprimer votre application de l'appareil, Nettoyer la construction et reconstruire et exécuter sur l'appareil.
2.Si les étapes ci-dessus ne vous aident pas, veuillez vérifier les paramètres ci-dessous:
Dans "TARGET"> "Paramètres de construction"> "Chemins de recherche pour les chemins d’accès", recherchez les valeurs "$ (hérité)" & "@ chemin_exécutable/Frameworks", n'hésitez pas à les ajouter, au cas où elles n'existeraient pas.
Construisez votre application et exécutez-la sur l'appareil