dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/Stylist.app/Stylist
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib: mmap() errno=1 validating first page of '/private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib'
(lldb)
Je reçois cette erreur en construisant sur mon iPhone. Je suis capable de construire sur le simulateur. J'ai refait tous mes fichiers de provision, mais je ne parviens toujours pas à créer sur mon iPhone. Mon Xcode est comme ça
Est-ce un problème de cadre ou un problème de signature? Cela ne s'est pas produit dans Xcode 6. Merci.
J'ai ce problème avant pour révoqué accidentellement mon certificat. Ensuite, tous mes Swift projets ont ce problème. Il y a deux façons de résoudre ce problème:
Cliquez sur Produit -> Nettoyer (ou CMD-Shift-K)
Ou en nettoyant manuellement les fichiers de paramètres Xcode:
rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/com.Apple.dt.Xcode
Je ne sais pas pourquoi cependant. Bonne chance voir si ça aide.
Xcode->Product->Clean + Xcode Restart
Après avoir essayé plusieurs des solutions mentionnées ci-dessus, à mon plus grand embarras, faire un Xcode-> Produit-> Nettoyer et redémarrer Xcode a fait l'affaire.
J'ai longtemps cherché sur cette question. Ce problème est dû à plusieurs raisons.
Si vous faites face à Swift et au code/à la bibliothèque dans un projet Objectice C, vous devriez essayer la solution 1-2-3.
Si vous rencontrez ce problème avec un nouveau projet Swift, la solution 4 vous conviendra le mieux.
Solution 1:
Redémarrez Xcode, puis l'ordinateur et l'iPhone
Solution 2:
Accédez aux paramètres de construction du projet et définissez Embedded Content Contains Swift
Indicateur de code sur YES
Solution 3:
Accédez aux paramètres de construction du projet et ajoutez @executable_path/Frameworks
à l'option Chemins de recherche pour chemins d'accès.
Solution 4:
Si aucune des solutions ci-dessus ne fonctionne, cela devrait être. Apple semble être un certificat ninja avec les correctifs mentionnés dans le message d'AirSign
Chez Inhouse certificats
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, O=Company Name, C=FR
ils ont ajouté un nouveau champ nommé OU
Subject: UID=269J2W3P2L, CN=iPhone Distribution: Company Name, OU=269J2W3P2L, O=Company Name, C=FR
de sorte que vous devriez simplement recréer un certificat et une provision
Pour moi, ce problème apparaissait en raison du certificat WWRD - Mine était à jour, mais pour une raison quelconque, il était réglé sur "toujours faire confiance" au lieu de "utiliser le système par défaut", ce qui semble faire toute la différence.
Si vous réinitialisez accidentellement votre trousseau, des certificats Apple manquants dans le trousseau peuvent en être la cause. J'ai suivi la réponse sur this pour résoudre mon problème.
J'ai eu le même problème et j'ai pu résoudre le problème en re-téléchargeant le WWDR (Autorité de certification des relations de développeurs Apple Worldwide). Télécharger à partir d'ici: http://developer.Apple.com/certificationauthority/AppleWWDDRCA.cer
Supprimer le DerivedData a fait l'affaire pour moi.
L’a fait via Xcode -> Préférences -> Emplacements -> a cliqué sur la flèche située derrière le chemin DerivedData et a supprimé l’ensemble du dossier DerivedData dans le Finder.
Cela s'est produit de mon côté lors de la création d'une application dans la ligne de commande via xcodebuild et xcrun PackageApplication, en la signant avec un profil d'entreprise. Sur nos serveurs CI Build, le certificat a été défini sur "Toujours faire confiance" dans le trousseau (sélectionnez certificat -> Lire les informations -> Confiance -> "Utiliser les valeurs système par défaut" peut être remplacé par "Toujours faire confiance"). Je devais le remettre à "Utiliser les paramètres système par défaut" pour que cela fonctionne. Nous avons initialement défini cette option sur "Toujours faire confiance" pour contourner les boîtes de dialogue de trousseau qui apparaissent après les mises à jour logicielles et les mises à jour des certificats.
Au risque de semer plus de confusion, je rencontrais ce problème lors de la mise à jour vers XC8.
Aucune de ces suggestions, ni d'aucun autre fil, ne l'a résolu. Ce que DID travaillait, supprimait EVERYTHING de la phase de construction "Lien binaire avec bibliothèques", de la phase de construction "Dépendances cibles" et du paramètre général "Cadres et bibliothèques liés".
Pour info, j'utilise Carthage et j'avais ajouté $(PROJECT_DIR)/Carthage/Build/tvOS
au paramètre de construction FRAMEWORK_SEARCH_PATHS
, afin de pouvoir retrouver mes frameworks.
FYI 2, ce projets et les cadres, sont 100% Swift et les cadres sont en train de construire DEFINES_MODULE = YES
.
Cité de Questions techniques QA1886 :
L'application rapide se bloque lorsque vous essayez de référencer la bibliothèque Swift libswiftCore.dylib.
Q: Que puis-je faire à propos de l'erreur de chargement de libswiftCore.dylib dans la console de mon périphérique qui se produit lorsque j'essaie d'exécuter mon application de langage Swift?
R: Pour résoudre ce problème, vous devez signer votre application à l'aide de certificats de signature de code avec l'unité d'organisation du sujet définie sur votre ID d'équipe. Tous les certificats de développeur Enterprise et iOS standard créés après la publication d'iOS 8 ont le nouveau champ ID de l'équipe à l'emplacement approprié pour permettre l'exécution des applications en langage Swift.
Habituellement, cette erreur apparaît dans le journal de la console du périphérique avec un message similaire à l'un des suivants: Le fichier mappé [....] [deny-mmap] ne comporte pas d'identificateur d'équipe et n'est pas un binaire de la plate-forme:/private/var/mobile/Conteneurs/Bundle/Application/5D8FB2F7-1083-4564-94B2-0CB7DC75C9D1/YourAppNameHere.app/Frameworks/libswiftCore.dylib
Dyld Error Message:
Library not loaded: @rpath/libswiftCore.dylib
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000120021088
Triggered by Thread: 0
Referenced from: /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/TestApp
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x1001D8000, size=0x00194000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/C3DCD586-2A40-4C7C-AA2B-64EDAE8339E2/TestApp.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5
Les nouveaux certificats sont nécessaires lors de la création d'une archive et de l'emballage de votre application. Même si vous possédez l’un des nouveaux certificats, le simple fait de renoncer à une archive existante Swift ne fonctionnera pas. S'il a été construit avec un certificat pré-iOS 8, vous devrez créer une autre archive.
Important: soyez prudent si vous devez révoquer et configurer un nouveau certificat Enterprise Distribution. Si vous êtes un développeur d'entreprise interne, vous devez veiller à ne pas révoquer un certificat de distribution utilisé pour signer une application que l'un des employés de votre entreprise utilise toujours en tant qu'application signée avec ce certificat de distribution d'entreprise. cessera de fonctionner immédiatement. Ce qui précède s’applique uniquement aux certificats Enterprise Distribution. Les certificats de développement peuvent être révoqués sans risque pour les développeurs iOS d'entreprise/standard.
Comme les gars d’AirSign indiquent les problèmes à l’origine de l’attribut OU manquant dans le champ objet du certificat interne.
Subject: UID = 269J2W3P2L, CN = iPhone Distribution: Nom de la société, OU = 269J2W3P2L, O = Nom de la société, C = FR
J'ai un certificat de développement d'entreprise, en créer un nouveau a résolu le problème.
Moi aussi j'ai eu ce problème, mais rien de ce que j'ai essayé ci-dessus et dans plusieurs autres postes n'a fonctionné .. sauf pour cela.
En ce qui me concerne, j’ai modifié l’identifiant du paquet car nous avons un identifiant de paquet différent pour la distribution par rapport au développement.
Mon matériel est autorisé sur cette disposition et mon compte d'équipe est valide, mais l'erreur précédente a été renvoyée sur un autre framework.
Il s'avère que j'avais besoin de supprimer complètement l'ancienne version de l'application de mon téléphone. Et pas seulement le supprimer de la manière standard.
Solution :
Évidemment, si vous installez la même application sous la même équipe sous un ID de lot différent, si vous ne partez pas complètement de zéro, il est fait référence à des frameworks qui se brouillent.
J'espère que ça aide quelqu'un.
Vous pouvez toujours obtenir ce problème après avoir essayé @Jieyi Hu Answer. peut sembler fixe mais si cela se reproduit (éventuellement sur xCode 9).
Toutefois, cette solution de contournement semble fonctionner (s’applique à Cocoapods 1.5.x):
ouvrez Podfile dans votre projet et ajoutez ceci:
post_install do |installer| installer.pods_project.build_configurations.each do |config| config.build_settings.delete('CODE_SIGNING_ALLOWED') config.build_settings.delete('CODE_SIGNING_REQUIRED') end end
pod update
Sources:
https://github.com/evgenyneu/Cosmos/issues/105
https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911
Merci à Cédric
Les étapes ci-dessous ont fonctionné avec succès.
1) Dans la bibliothèque dynamique, le nom d'installation devait être "@loader_path"
2) Dans le projet principal, le chemin de recherche Runpath doit être "@loader_path" et "@ loader_path/Frameworks".
3) Dans la vue utilisée du trousseau -> afficher les certificats expirés et tout supprimer.
4) Supprimez le certificat de distribution et réinstallez-le.
5) Téléchargé developer.Apple.com/certificationauthority/AppleWWDRCA.cer et installé.
Je viens de nettoyer le projet et Clean Build Folder
de alt Menu du produit
Vous rencontrez les mêmes problèmes si vous travaillez dans Xamarin Studio et que vous faites référence à une bibliothèque portable pour laquelle vous devez exécuter l’appât PCL et le commutateur. Cela se produit si le projet de référencement est obsolète par rapport à la bibliothèque référencée. J'ai constaté que j'avais mis à jour ma bibliothèque commune vers un framework plus récent, mis à jour mes paquets mais que mes paquets iOS n'étaient pas mis à jour. La mise à jour des paquets a résolu cette erreur pour moi.
J'ai eu le même problème et j'ai pu résoudre le problème en re-téléchargeant la WWDR (Apple Worldwide Developer Relations Certification Authority)
. Télécharger de ici :
et mis à Toujours faire confiance dans le trousseau. Passage à Use System Default
ça marche pour moi, j'espère que cela vous aidera
Pour ce que ça vaut, je frappe une erreur similaire dans XCode 9.0.1. J'ai essayé de désinstaller et de réinstaller tous mes certificats, mais lors de ma réinstallation, ils semblaient se rappeler du paramètre de confiance que j'avais précédemment. Ce qui a finalement fonctionné pour moi (il semble) a été de désactiver le paramètre "Toujours faire confiance" du certificat "Autorité de certification des relations de développeur Apple Worldwide", suivi d'un redémarrage. Quel problème cryptique!
J'ai rencontré ce problème UNIQUEMENT sur le simulateur. Il semble être lié à des droits non valides dans notre application, mais le problème n'apparaît pas lorsque nous fonctionnons sur un périphérique.
Dans mon cas, après avoir supprimé toutes les certifications créées par Xcode et téléchargées. Laissez xcode 8.1 gérer la certification de l'application, cela fonctionne bien !!! J'espère que cela peut aider quelqu'un.
fait face au même problème
Dans mon cas, le trousseau indique que le certificat est non approuvé. Pour résoudre ce problème, j'ai défini les options de confiance du certificat sur "Toujours faire confiance". Définir le certificat sur "Toujours faire confiance" était la cause principale du crash. Je n'ai pas pu installer l'application dans l'appareil. Résolu ceci en définissant l'option de confiance sur "Paramètres système par défaut" au lieu de "Toujours faire confiance". Cela a fonctionné pour moi.
J'ai récemment fait face à ce problème. J'ai essayé toutes les solutions possibles mais rien n'a fonctionné. À la fin je viens de quitter le Xcode, enlevé les certificats dans le trousseau et installé tout frais et redémarré mac. Heureusement cela a fonctionné comme un charme :)
J'ai rencontré ce problème avec XCode 9. Rien de ce qui précède n'a fonctionné. Cela a fait le tour pour moi:
Project > Build Settings > Swift Compiler - Search Path: Setting "Import Paths"
à $(PROJECT_DIR)
(récursif)
J'ai résolu en utilisant ces astuces.
Étape 1:
Accédez aux paramètres de construction du projet et ajoutez l'option @ executable_path/Frameworks aux chemins de recherche de chemins d'accès.
Étape 2:
Accédez aux paramètres de construction cibles et ajoutez l'option @ executable_path/Frameworks aux chemins de recherche Runpath et les chemins de recherche Framework.
Étape 3:
Relancez le téléchargement du WWDR (Autorité de certification des relations de développeurs Apple Worldwide), défini sur Utiliser les options système par défaut.
Étape 4:
Supprimer toutes les données dérivées à l'aide du terminal
rm -rf ~/Library/Developer/Xcode/DerivedData/*
Étape 5 :
Supprimez tous les certificats et réinstallez-le dans le trousseau. J'ai activé l'option Utiliser les valeurs par défaut du système.
Étape 6:
Redémarrez Xcode.
entrez la description de l'image ici
J'ai un problème similaire, qui détaille des informations que la première image.
Ma solution est que la certification permette de toujours utiliser les paramètres par défaut du système. comme: entrez la description de l'image icientrez la description de l'image ici
Je résous le problème en vérifiant mes trousseaux locaux. Conserver login.keychain a le bon certificat
Dans mon cas, c'était un problème avec l'un des pods que j'utilisais. J'ai fini par retirer ce module et en placer le code manuellement dans mon projet.
Vous pouvez régénérer votre certificat et redémarrer votre iPhone.
Ce travail pour moi, j'espère que cela vous aidera.
vous n'avez probablement pas le bon Arch dans cette bibliothèque, vous pouvez faire un
file /private/var/mobile/Containers/Bundle/Application/3FC2DC5C-A908-42C4-8508-1320E01E0D5B/testapp.app/Frameworks/libswiftCore.dylib
et il devrait vous montrer les Arch qui se trouvent dans cette bibliothèque ... Je ne sais pas comment vous vous connectez, mais ce n'est probablement pas la bonne façon (si libswiftcore est une bibliothèque d'usine, si c'est une bibliothèque supplémentaire, alors n'est probablement pas compilé correctement)
Cela a résolu mon erreur.
Relancez le téléchargement du WWDR (Autorité de certification des relations de développeurs Apple Worldwide), défini sur Utiliser les options système par défaut.