dyld: bibliothèque non chargée: @ rpath / libswiftCore.dylib

412

J'essaie d'exécuter une application Swift sur mon iPhone 4s. Cela fonctionne très bien sur le simulateur, et mon ami peut le faire fonctionner avec succès sur son iPhone 4s. J'ai iOS 8 et la version officielle de Xcode 6.

j'ai essayé

  • Redémarrage de Xcode, iPhone, ordinateur
  • Nettoyage et reconstruction
  • Révocation et création d'un nouveau profil de certificat / provision
  • La valeur Runpath Search Paths est $(inherited) @executable_path/Frameworks
  • Le contenu intégré contient du code Swift est «Oui»
  • L'identité de signature de code est développeur

Voici l'erreur dans son intégralité

dyld: Library not loaded: @rpath/libswiftCore.dylib
  Referenced from: /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/AppName
  Reason: no suitable image found.  Did find:
    /private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/AppName.app/Frameworks/libswiftCore.dylib: mmap() error 1 at
address=0x008A1000, size=0x001A4000 segment=__TEXT in Segment::map() mapping
/private/var/mobile/Containers/Bundle/Application/LONGSERIALNUMBER/APPLICATION_NAME/Frameworks/libswiftCore.dylib
user3751185
la source
4
nettoyer et reconstruire a fonctionné pour moi
MoralCode
La solution est . Le même sujet
Tarik
Nettoyer et reconstruire mon projet qui fonctionnera pour moi
Syed Zahid Shah
1 J'ai été confronté au même problème ... Il a été corrigé en ajoutant: Dans votre podfile: use_modular_headers! au lieu de use_frameworks! Bonne chance! J'espère que cela fonctionne pour vous!
Tejas

Réponses:

554

Pour moi, aucune des solutions précédentes n'a fonctionné. Nous avons découvert qu'il existe un indicateur "Always Embed Swift Standard Libraries" dans les paramètres de construction qui doit être défini sur YES. C'était NON par défaut!

Build Settings > Always Embed Swift Standard Libraries

Après avoir défini cela, nettoyez le projet avant de le reconstruire.

Pour les lecteurs passionnés, quelques explications La partie la plus importante est:

définissez le paramètre de génération Embedded Content Contains Swift Code (EMBEDDED_CONTENT_CONTAINS_SWIFT) sur YES dans votre application, comme illustré à la figure 2. Ce paramètre de génération, qui spécifie si le produit d'une cible a un contenu incorporé avec du code Swift, indique à Xcode d'intégrer les bibliothèques standard Swift dans votre application lorsqu'il est réglé sur OUI.

entrez la description de l'image ici

Le drapeau s'appelait autrefois Embedded Content Contains Swift Code

TALAA
la source
20
A aussi fonctionné pour moi, donc merci beaucoup. Ce qui me laisse perplexe, si j'ajoute du code rapide à un projet, pourquoi Xcode ne le met-il pas automatiquement à jour? Cela ressemble à un comportement par défaut raisonnable. Je suppose que de cette façon, cela vous donne plus de contrôle sur les bibliothèques incluses, etc.
PoL0
11
Pour moi, c'était "Intégrer les packs d'actifs dans le bundle de produits"!
Matte.Car
17
Faites un nettoyage après cela.
Agresseur
2
Faire un nettoyage après avoir fait cela est ce qui a résolu mon problème. Heureux d'avoir vérifié les commentaires! =]
Relequestual
75
Cela s'appelle Always Embed Swift Standard Libraries maintenant.
Warpzit
136

Étonnamment, je n'ai fait que "nettoyer" mon projet (shift + cmd + K) et cela a fonctionné. Semble cependant être lié au certificat.

royherma
la source
Le nettoyage a du sens, car il force le rafraîchissement des éléments mis en cache utilisés dans une génération. J'ai dû le faire parce que je viens de rafraîchir un certificat de signature. J'ai fait un nettoyage et un dossier de construction propre (Option-clean).
Victor Engel
12
ha oui, ça a marché. j'avais réinitialisé mes certificats plus tôt et ce nettoyage a fonctionné comme un charme.
Arbre de code
GENIUS, hah, cela a été causé par une mise à niveau de Swift 2 à 3 sans nettoyage entre les deux, je
pense
2
Même problème ici. Une nouvelle version est requise après la manipulation des certificats.
Marc
1
Même problème ici . Nettoyer est une étape incontournable. pas besoin de manipuler les certificats. mon problème résolu.
Manish Nahar
95

J'ai commencé à recevoir cette erreur lorsque j'ai supprimé:

@executable_path/Frameworks

de Runpath Search Paths dans mes paramètres de construction. Le remplacer a tout réparé (Dieu merci pour le contrôle de source!)

Je ne sais pas comment il y est arrivé, mais il semble nécessaire qu'un binaire trouve son runtime Swift intégré.

jemmons
la source
2
Mise à jour d'un ancien projet iOS6 vers iOS7 et Swift et a obtenu cette erreur. @ executable_path / Frameworks l'a corrigé. Merci!
Lensflare
5
Pour moi, à partir de Xcode 8b5, c'était en fait @loader_path/../Frameworkspour les tests unitaires macOS et @loader_path/Frameworkspour les tests unitaires iOS qui devaient être ajoutés.
Pascal
Oui! C'est le correctif qui l'a fait pour moi dans iOS 10 / Xcode 8. Le projet a commencé sur iOS 2-3 en tant que pur objectif-c et nous venons d'ajouter un peu de Swift.
TahoeWolverine du
L'ajout de cela a également corrigé l'erreur pour moi. Quelqu'un connaît la raison complète de cela? Merci pour l'aide.
Rod
A aussi fonctionné pour moi! (XCode 8.2.1)
The Good Giant
63

Pour l'appareil, vous devez également ajouter le cadre dynamique à la Embedded binariessection de l' Generalonglet du projet.
entrez la description de l'image ici

Mustafa
la source
1
Des pensées? @Mustafa
user3751185
62
La réponse est très vague.
Unheilig
1
Encore une fois, répondez assez vague. Je ne sais pas exactement ce que cela signifie par rapport au PO.
Richie Marquez
2
A travaillé pour moi. Ajouter uniquement à la section "Framework et bibliothèques liés" n'a pas fait l'affaire.
Danchoys
5
Pour exposer: si ce que vous voyez dans le message d'erreur est le nom d'un framework (par exemple, un Cocoa Touch Framework personnalisé que vous avez créé), n'ajoutez pas simplement le .framework dans les dépendances cibles dans les phases de construction. Vous devez également l'ajouter aux fichiers binaires intégrés dans l'onglet Général. Cette réponse l'a corrigé pour moi.
Matthew Quiros
62

Dans Xcode 8, l'option pour Embedded Content Contains Swift Code option n'est plus disponible.

Il a été renommé en "Always Embed Swift Standard Libraries = YES"

entrez la description de l'image ici

Bonnie
la source
Cela m'a aidé avec un crash sur WatchOS
Alex Bartiş
28

Je pense que c'est un bug lorsque les certificats sont générés directement à partir de Xcode. Pour résoudre (au moins dans Xcode 6.1 / 6A1052d):

  1. accédez au site Web Apple Developer où les certificats sont gérés: https://developer.apple.com/account/ios/certificate/certificateList.action
  2. sélectionnez vos certificats (qui doivent afficher "Géré par Xcode" sous "Statut") et "Révoquez-le"
  3. suivez les instructions ici pour générer manuellement un nouveau certificat: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31- SW32
  4. accédez à Xcode> Préférences> Comptes> [votre identifiant Apple]> double-cliquez sur le nom de votre équipe> cliquez sur le bouton d'actualisation pour mettre à jour les certificats et les profils d'approvisionnement
Vijay Sundaram
la source
A fonctionné pour moi uniquement lors de la suppression et de la création uniquement dans XCode, l'outil "Certificats, identificateurs et profils" de developer.apple.com a créé de nouveaux mauvais certificats.
Graham P Heath, du
4
Pardonnez mon ignorance ... Qu'est-ce que cette réponse a à voir avec la question qui a été posée? Il semble que vous ayez répondu à une autre question. Ou plus correctement, vous avez répondu à la réponse supprimée @ user3056783, qui était juste un commentaire "J'ai ce problème aussi".
2015 à 9h36
Je venais de générer un certificat dans Xcode, donc c'était peut-être le même problème, bien que j'aie pu le résoudre en exécutant simplement un Clean.
pr1001
1
Ce bouton "rafraîchir" est maintenant renommé "Télécharger tout" ... :)
Thyselius
1
Même problème dans XCode 7. Générer manuellement des fichiers cert au centre des développeurs Apple a résolu le problème pour moi.
JonSlowCN
25

OK, partage ici une autre cause de cette erreur. Il m'a fallu quelques heures pour régler ce problème.

Dans mon cas, la stratégie d'approbation de mon certificat dans Keychain Access était Always Trust , le restaurer en mode par défaut a résolu le problème.

Pour ouvrir la fenêtre des paramètres du certificat, double-cliquez sur le certificat dans la liste des certificats d'accès au trousseau.

entrez la description de l'image ici entrez la description de l'image ici

nalexn
la source
Cela a également fonctionné pour moi. J'utilisais des pods pour inclure les sdks PubNub et AWS. J'ai essayé d'utiliser différentes méthodes telles que la modification des «chemins de recherche de chemin d'exécution». Il était déjà défini sur la valeur mentionnée dans la réponse ci-dessus. Marqué oui pour intégrer le code rapide dans les paramètres de génération, mais n'a pas fonctionné. Enfin, cette solution a fonctionné pour moi. À votre santé.
Ehsan
1
A travaillé pour moi. Je n'aurais jamais soupçonné quelque chose comme ça. Merci beaucoup.
Pierre-Yves
J'ai essayé toutes les solutions ci-dessus et c'était le clou dans le cercueil. Je ne sais pas si j'avais besoin d'une combinaison de tous, mais c'était le gagnant pour moi. Pour être clair, ceux que j'ai faits étaient les suivants: nettoyer le projet, inclure load_path dans les chemins de recherche Runpath, déplacer le certificat de distribution du système vers le trousseau de connexion, définir toujours intégrer les bibliothèques standard rapides sur oui, "non approuvé" le certificat (le remettre sur le système confiance par défaut).
Nick Molyneux
Holy molly ... Merci beaucoup!
Ethenyl
23

J'avais ce problème avec l'exécution de mes tests Swift (mais pas mon application). Il s'avère que le test devait avoir plus que @executable_path/Frameworksson Runpath Search Pathsréglage de construction pour la cible de test. Définir les chemins de recherche Runpath sur les éléments suivants a fonctionné pour moi:

$(inherited)
@executable_path/Frameworks
@loader_path/Frameworks
DonnaLea
la source
1
Ouais c'est ça! Face à cela pour AFDateHelper.framework, Result.framework pour ceux qui Google leur chemin ici. J'ai réalisé que c'était la solution car cela a changé le nom du cadre pour lequel je recevais cette erreur - c'était un cadre que j'avais manqué d'inclure carthage copy-frameworkscar c'était une dépendance secondaire (celle qu'un cadre que j'utilisais avait ajouté )
Angad
2
Alléluia! Que Dieu vous bénisse DonnaLea. Cela vient de mettre fin à une lutte de 3 heures.
Adam Waite
Brillant. Exactement ce que je cherchais.
gran_profaci
21

Ce problème se produit à nouveau dans Xcode 10.2 . Vous devez télécharger et installer le package suivant d'Apple. Il fournit un support d'exécution Swift 5 pour les outils de ligne de commande .

https://support.apple.com/kb/DL1998?locale=en_US

Jim Bray
la source
J'obtenais du dyld: Symbole introuvable: _ $ s11SubSequenceSlTl. Cela fonctionne 👍
Aditya Deshmane
Génial! Résolu avec cela
Roran
Travaux! Cela me rappelle la programmation des fenêtres anciennes lorsque vous aviez besoin d'installer le visual redistribuable c ++ msvcrt.dll
mcatach
Merci! J'ai essayé tout le reste et c'était tout.
Silverstar
17

Vous devez définir l' Runpath Search Pathsà @executable_path/Frameworkscomme le montre la capture d' écran suivante des paramètres de compilation:

entrez la description de l'image ici

Si vous avez des frameworks intégrés créés dans Swift, vous pouvez définir YESles options de construction Embedded Content Contains Swift Code.

loretoparisi
la source
1
OUI, pour le framework dans swift, la définition de "Contenu incorporé contient du code Swift" sur OUI est nécessaire
david
J'ai créé un outil en ligne de commande qui utilise des dylibs qui doivent être livrés avec l'outil dans un répertoire local (et non dans / usr / lib ou quelque chose comme ça). otool -Lcar ces dylibs m'ont dit qu'ils utilisaient déjà @rpath/...leur propre chemin. Maintenant, en définissant le chemin de recherche Runpath sur le chemin de ce dossier, je peux exécuter mon outil et il trouvera les dylibs qui sont stockés dans un dossier à côté de lui.
Thomas Tempelmann
Lors de la tentative d'ajout d'un module Swift dans un projet React Native, il n'a pas été trouvé @rpath/libswiftAppKit.dylib. Un problème m'a amené à apprendre que je devais ajouter le chemin de recherche: @executable_path/../Frameworks/sur la base de ces instructions . Que cela s'applique uniquement à la structure de mon projet, je ne peux pas le dire. Il est à noter que je n'ai pas eu à nettoyer DerivedData pour que ce paramètre prenne effet!
Jamie Birch
16

Je pense qu'Apple l'a déjà résumé sous les plantages de l'application Swift en essayant de référencer la bibliothèque Swift libswiftCore.dylib

Cité de Q&A technique QA1886 :

L'application Swift se bloque lors de la tentative de référence à 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 appareil qui se produit lorsque j'essaie d'exécuter mon application de langue Swift?

R: Pour corriger ce problème, vous devrez signer votre application à l'aide de certificats de signature de code avec l'unité organisationnelle soumise (UO) définie sur votre ID d'équipe. Tous les certificats de développeur iOS d'entreprise et standard créés après la sortie d'iOS 8 ont le nouveau champ ID d'équipe au bon endroit pour permettre aux applications en langue Swift de s'exécuter.

Habituellement, cette erreur apparaît dans le journal de la console de l'appareil avec un message similaire à l'un des suivants:

[....] [deny-mmap] mapped file has no team identifier and is not a platform binary:
/private/var/mobile/Containers/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'empaquetage de votre application. Même si vous possédez l'un des nouveaux certificats, la simple démission d'une archive d'application Swift existante ne fonctionnera pas. S'il a été construit avec un certificat pré-iOS 8, vous devrez créer une autre archive.

Important: veuillez faire preuve de prudence si vous devez révoquer et configurer un nouveau certificat de distribution d'entreprise. Si vous êtes un développeur d'entreprise en interne, vous devrez faire attention de ne pas révoquer un certificat de distribution qui a été utilisé pour signer une application que l'un de vos employés d'entreprise utilise toujours comme toute 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 de distribution d'entreprise. Les certificats de développement peuvent être révoqués en toute sécurité pour les développeurs iOS d'entreprise / standard.

Comme les gars AirSign état les racines du problème à partir de l' attribut OU manquant dans le champ sujet du certificat .

Objet: UID = 269J2W3P2L, CN = iPhone Distribution: nom de l'entreprise, OU = 269J2W3P2L , O = nom de l'entreprise, C = FR

J'ai un certificat de développement d'entreprise, la création d'un nouveau a résolu le problème.

flatronka
la source
Après avoir passé de nombreuses heures à essayer de comprendre pourquoi ma nouvelle configuration CI n'était pas en mesure de publier correctement une application bêta (compte d'entreprise, en effet), j'ai compris que dans les options d'exportation, compileBitcode DOIT être vrai.
gderaco
10

Projetons P importe une bibliothèque personnalisée L, alors vous devez ajouter L dans

P -> Build Phases -> Embed Frameworks -> +. Ça marche pour moi.

entrez la description de l'image ici

Sazzad Hissain Khan
la source
9

Le moyen le plus simple et le plus facile à ignorer: nettoyer et reconstruire.

Cela a résolu le problème après avoir essayé les réponses ci-dessus et n'a pas fonctionné.

Michael Yang
la source
6

Modifiez les ressources de pods de copie pour la cible de:

"${SRCROOT}/Pods/Target Support Files/Pods-Wishlist/Pods-Wishlist-resources.sh"

à:

"${SRCROOT}/Pods/Target Support Files/Pods-Wishlist/Pods-Wishlist-frameworks.sh"
Bartłomiej Semańczyk
la source
1
Sauf si cela a cassé autre chose, cela a été la solution pour moi!
RealCasually
Quoi d'autre cette chose a cassé? Pouvez-vous m'aider à améliorer la réponse?
Bartłomiej Semańczyk
Cela semble fonctionner, à l'exception du fait que l'exécution de «pod install» écrase le changement.
RealCasually
@RealCasually vous avez raison Existe-t-il un moyen d'empêcher d'écraser ceci ou toute solution de contournement?
Bartłomiej Semańczyk
OMG. ce fut le problème pour moi après avoir essayé 100 autres choses et 4 heures de singe. Que se passe-t-il exactement dans le framework.sh vs resources.sh?
kennydust
6

J'ai résolu en supprimant les données dérivées et cette fois, cela a fonctionné correctement. Testé avec Xcode 7.3.1GM

Tigre blanc
la source
La suppression de mes données dérivées a également fonctionné, j'ai fait un nettoyage (CMD + K) au préalable au cas où et l'erreur est morte d'une mort douloureuse!
Stuart P.
6

Ce message d'erreur peut également être provoqué lors de la mise à niveau de Xcode (et par la suite vers une nouvelle version de Swift) et votre projet utilise un framework construit / compilé avec une version plus ancienne / précédente de Swift.

Dans ce cas, reconstruire le framework et le rajouter résoudra le problème.

Paul Popiel
la source
Cela m'est arrivé, en passant de Xcode 9.2 à 9.3. Bien que je ne l'ai découvert que longtemps après la mise à niveau, car tant que le projet a été construit à l'aide de Xcode 9.2 auparavant, il continue de fonctionner indéfiniment avec Xcode 9.3. Ce n'est qu'après avoir effectué un paiement net que j'ai découvert cela.
Svein Fidjestøl
Je ne pense pas que cette réponse soit suffisamment élevée. En utilisant Carthage et une version mise à jour de Xcode est installée, vous devez reconstruire vos bibliothèques Carthage pour faire disparaître ce problème.
Darren
5

Après avoir tout essayé, j'ai finalement découvert que la construction ne semblait pas toujours inclure chaque détail encore et encore. Peut-être pour accélérer le processus ... Afin d'assurer un emballage ENTIER avant de courir sur un appareil, faites d'abord un nettoyage: Shift-Cmd-K. Construisez ensuite avec: Cmd-B. Ensuite, exécutez-le sur votre appareil. Facile. Cordialement à tous les gars sympas de cet endroit!

Daniel
la source
4

Dans mon cas, c'était juste le nom de ma cible:

Je l'ai renommé comme ceci: MyApp.something et le même problème sont apparus. Mais j'ai vu dans la fenêtre Paramètres de construction, le nom de mon module de produit a été changé comme ceci MyApp-quelque chose . J'ai donc supprimé le point de mon nom cible ( MyAppSomething ) et le problème avait disparu.

Patrice à partir de 8 battements
la source
4

Pour moi, après avoir tout essayé sans succès, ce qui a fonctionné a été de l'enlever @executable_path/Frameworksde Packaging section(je ne sais pas comment cela a pu être là-bas en premier lieu)

entrez la description de l'image ici

abinop
la source
est-ce pour le chemin du framework ou pour le chemin des paramètres du projet principal?
ZeeroCool77
J'avais un projet de bibliothèque statique et je voulais y ajouter rapidement fw. Cette instruction avec Embedded Contain contient du code Swift to Yes a résolu tous les problèmes.
mauron85
Cela semble avoir cassé mon projet.
UKDataGeek
3

Aucune des solutions n'a fonctionné pour moi. Le redémarrage du téléphone l'a corrigé. Étrange mais ça a marché.

newDeveloper
la source
3

aucune de ces solutions ne semblait fonctionner, mais lorsque j'ai changé l'autorisation du certificat World Wide Developer, Use System defaultscela a fonctionné. J'ai inclus les étapes et les captures d'écran dans le lien ci-dessous

Je vous encourage à enregistrer le ticket dans le rapport de bug d'Apple comme mentionné ici, car Apple devrait vraiment résoudre cette énorme erreur: https://stackoverflow.com/a/41401354/559760

UKDataGeek
la source
2

Xcode 7.2, iOS 9.2 sur un appareil, 9.0 sur l'autre. Les deux avaient l'erreur. Aucune idée de ce qui a changé cela, mais les solutions ci-dessus pour le WWDR étaient correctes pour moi. Installez ce certificat et le problème résolu.

https://forums.developer.apple.com/message/43547 https://forums.developer.apple.com/message/84846

HG123
la source
Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien de référence. Les réponses de lien uniquement peuvent devenir invalides si la page liée change. - De l'avis
Bartłomiej Semańczyk
2
Mes excuses. Téléchargez le certificat WWDR, ​​puis ouvrez-le pour l'installer dans votre trousseau. Le certificat est ici: developer.apple.com/certificationauthority/AppleWWDRCA.cer
HG123
2

Il y a beaucoup de réponses, mais ma réponse pourrait aider quelqu'un.

J'ai le même problème, mon application fonctionne bien sur le simulateur mais sur l'appareil s'est écrasé comme je déjeune app et donne l'erreur comme ci-dessus. J'ai essayé toutes les réponses et solutions. Dans mon cas, mon projet, j'ai plusieurs cibles. J'ai créé la cible B en double à partir de la cible A. La cible B fonctionne bien tandis que la cible A s'est écrasée. J'utilise différents éléments d'image pour chaque cible. Après avoir recherché et fait google, j'ai trouvé quelque chose qui pourrait aider quelqu'un.

L'application s'arrête de planter lorsque je change le nom des éléments Launch images pour les deux applications. Par exemple, ciblez un nom de ressource d'image de lancement LaunchImage A. Cible B Déjeuner Image nom de l'actif LaunchImage B et attribué correctement dans l'onglet Général de chaque cible. Mes applications fonctionnent bien.

VDPATEL
la source
2

Pour moi, créer une application Swift en ligne de commande MacOS qui dépendait de bibliothèques Swift tierces (par exemple SQLite), aucune des solutions ci-dessus ne semblait fonctionner. Ce qui a fonctionné a été l'ajout direct du chemin suivant à mes chemins de recherche Runpath dans les paramètres de construction:

/Applications/Xcode.app/Contents//Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/

Faire cela a donné un avertissement lors de l'exécution disant que Xcode avait trouvé 2 versions de libswiftCore - ce qui est logique. Sauf que le fait de ne pas inclure cette ligne a empêché Xcode de trouver des versions de libswiftCore.

Quoi qu'il en soit, cela fera l'affaire pour moi même si cela ne semble pas correct - mon application n'est qu'un utilitaire que je n'ai pas l'intention de distribuer et au moins il fonctionne maintenant!

millionyearsold
la source
Je vous remercie! Je suis dans ta situation et cela a aussi fonctionné pour moi.
Joris Weimar
Oui, c'est la solution pour CLI!
Maury Markowitz
1

J'ai plusieurs versions de Xcode installées en même temps. Le cadre a été construit avec une version plus récente de Xcode. L'application que j'ai essayé de compiler était avec une ancienne version de Xcode. Lorsque j'ai nettoyé et compilé le framework et l'application avec la même version de Xcode, les choses ont fonctionné.

neoneye
la source
1

J'ai commencé à obtenir cette erreur similaire pour tester l'ajout de fichier S3 à l'aide des services AWS. Ci-dessous était l'erreur. dyld: bibliothèque non chargée: @ rpath / AWSAutoScaling.framework / AWSAutoScaling

J'ai beaucoup cherché et les solutions ci-dessus ne sont pas non plus utiles pour moi. Le lien ci-dessous m'a aidé à résoudre ce problème.

https://forums.developer.apple.com/thread/21292

Qui dit de résoudre ce problème en re-téléchargeant le WWDR (Apple Worldwide Developer Relations Certification Authority) .

chanduthedev
la source
1

Je suis sur Xcode 8.3.2. Pour moi, le problème était que le certificat AppleWWDRCA était à la fois dans le système et le trousseau de connexion. Supprimé les deux, puis ajouté au trousseau de connexion, il fonctionne maintenant à nouveau correctement. 2 jours perdus 😭

Max
la source
Pouvez-vous me donner une réponse un peu plus détaillée? Où le trouvez-vous (le certificat) - Je suppose que ce que vous avez écrit signifie quelque chose pour Apple Worldwide Developer ... mais quel est le nom complet? comment le rajouter après l'avoir complètement supprimé de tous les porte-clés? Où trouvez-vous ce certificat?
Motti Shneor
1

J'utilise Xcode 8.3.3 et Xcode 9.2. La solution pour moi était de passer mon Xcode par défaut de 8 à 9 à l'aide de Xcode Select:

$ xcode-select --print-path

$ sudo xcode-select -switch /Applications/Xcode-9.2.app

Edit: En fait, ce qui semblait aider ici était que Xcode 9.2 utilisait les données dérivées de Xcode 8.3.3. Pas une solution mais au moins ça me permet d'avancer dans mon travail.

Matt Bearson
la source
J'ai essayé que ces problèmes se produisent, mais lorsque je quitte et redémarre xcode, cela fonctionne. :). Bel essai
Abhishek Thapliyal
1

Si vous obtenez une erreur comme celle-ci:

Impossible de charger le bundle "YourFrameworkTests" car il est endommagé ou il manque des ressources nécessaires. Essayez de réinstaller le bundle. (dlopen_preflight (/ some / path /.../ YourFrameworkTests.xctest / YourFrameworkTests): Bibliothèque non chargée: @ rpath / SomeOther.framework / SomeOther Référencé depuis: / some / path / ...)

et utilisez CocoaPods dans votre framework, puis essayez de modifier Podfileet de supprimer inherit! :search_pathsde la Testcible, puis exécutezpod install nouveau.

Pour plus de détails, voir https://github.com/CocoaPods/CocoaPods/issues/8868 .

Marius
la source