J'exécute mon application depuis xcode sur mon appareil iOS et j'obtiens cela ainsi qu'un écran noir sur un appareil iOS.
Texte de la console:
dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /private/var/mobile/Containers/Bundle/Application/10DB2FE8-EF09-4857-B4AC-0DB2E4419D6F/App-Name.app/App-Name
Reason: image not found
(lldb)
Essayez d’ajouter la ligne suivante à Chemins de recherche Runpath de votre cible.
@executable_path/Frameworks
your_target -> Paramètres de construction -> Liaison -> chemins de recherche de chemins d’attraction
J'ai eu le même problème. J'ai fini par ajouter le cadre dans les emplacements suivants:
General > Embedded Binaries
General > Linked Frameworks and Libraries
Build Phases > Link Binaries with Libraries
Le binaires incorporés semblait être la clé pour moi.
Pour moi, ça aide d'ajouter @executable_path/Frameworks
à projet Runpath Search Paths, non target. votre_projet -> Paramètres de construction -> Liaison -> Chemins de recherche Runpath
Aucune des autres solutions ne m'a aidé, mais tout a été corrigé en supprimant le répertoire données dérivées de Xcode.
Je devais passer de 'Contenu incorporé contenant Swift Code' à 'Oui') pour que mon application Obj-C fonctionne après la mise à jour de la structure intégrée Obj-C avec un Swift objet.
Dans la cible du cadre (pas la cible de l'application), accédez à Paramètres de construction> Options de construction> Toujours incorporer la norme Swift Bibliothèques en YES.
Cela a résolu le problème pour moi!
J'ai eu cette erreur dans un projet en ligne de commande (Xcode 10.2 et macOS 10.14.3)
La solution consistait à mettre à jour macOS 10.14.4
Les projets de ligne de commande Swift ne seront pas exécutés sous macOS 10.14.3 et versions antérieures, sauf si vous installez le package Swift 5 Runtime Support pour les outils de ligne de commande. Sans ce package, les projets en ligne de commande Swift se bloquent au lancement avec des erreurs "dyld: Library not Load". (46824656)
~/Library/Developer/Xcode/DerivedData
Bonne chance à tous!
J'ai rencontré le même problème, la définition de la bonne identité de signe de code a résolu le problème (Paramètres de construction-> Identité de signature de code).
Conformément aux questions techniques Apple "Tous les certificats de développeur Enterprise et iOS standard créés après la sortie d'iOS 8 ont le nouveau champ ID de l'équipe à l'emplacement approprié. permettre à Swift applications linguistiques de s'exécuter "
Dans mon cas, ce problème vient d'un projet Objective-c dans lequel j'utilise un cadre Swift (SDK AirWatch)).
Solutions: J'ai résolu ce problème avec Xcode 9.3 et 11.0.1 iOS comme indiqué ci-dessous:
Définissez Toujours intégrer Swift Bibliothèques standard à Oui dans vos paramètres de construction.
Définissez Subpath et sélectionnez la destination comme Framework pour votre framework ajouté dans les phases de construction. > Intégrez les frameworks comme indiqué sur la capture d'écran.
J'espère que ça va aider quelqu'un.
J'ai eu le même message d'erreur, voici comment je l'ai résolu:
Le problème provenait des certificats générés automatiquement par Xcode. Je devais révoquer ces certificats dans les générer de développeur.Apple.com
La solution est alors: - Allez sur developer.Apple.com/certificats -> Révoquer les certificats OR aller dans Xcode> préférences> comptes> Afficher les détails> sélectionner les identités de Sigining> cliquer sur les paramètres> révoquer - J'ai accédé à developper.Apple.com et suivez les instructions pour générer de nouveaux certificats - Dans Xcode dans mon projet: allez dans Code Signing Identity et signez les deux lignes de débogage avec le certificat généré - Les deux lignes de version sont définies sur "Développeur iOS" - Puis le projet > clean - Construit et fonctionne sur le périphérique
Ce message d'erreur peut également se produire lors de l'utilisation d'une structure construite dans une version différente Swift alors celle actuellement utilisée, par exemple si vous mettez à niveau Xcode.
@ Saïkiran a répondu a travaillé.
Mes certificats ont été générés avant la sortie d’iOS 8. J'ai révoqué tous mes certificats et régénéré tous les profils d'approvisionnement, ce qui a immédiatement résolu mes problèmes.
Je n'ai pas assez de réputation pour voter @ la réponse de Saikiran, mais cela a certainement aidé à résoudre le problème.
Pour moi a travaillé définir l'option
ALWAYS_EMBED_Swift_STANDARD_LIBRARIES
oUI dans Projet -> Paramètres de construction -> Options de construction
(Cadre Namirial à travers les Cocoapods)
Aucune des solutions ci-dessus n'a fonctionné pour moi. J'ai modifié les paramètres de confiance du certificat de développeur iPhone dans Keychain. Il devrait être Toujours faire confiance . Changez-le en Utilisez les valeurs par défaut du système . Double-cliquez sur le certificat dans le trousseau pour ouvrir l'écran d'options Découvert que de this blog
J'ai eu le même message d'erreur, voici comment je l'ai résolu: cela se produit parce que j'ai changé l'identificateur de paquet, alors je viens de mettre l'ancien identifiant de paquet et il a recommencé à fonctionner
Il semble que ce problème ait été causé par l'inclusion du fichier Swift dans le cadre personnalisé objective-c. Également incertain quant à la relation, mais ma cible d'application était également intégrée à objective-c. Construction également sur simulateur dans le débogage N'a pas encore vérifié la version ou la compilation de l'archive.
De plus, les paramètres de recherche de chemin d'accès pour la cible du projet étaient définis sur "@ chemin_exécutable/Frameworks". Dans les paramètres de cible du cadre, ils étaient définis sur: "@ chemin_exécutable/Frameworks" et "@ chemin_chargeur/Frameworks".
Après avoir essayé de reconstruire le framework personnalisé et de le rattacher à la cible de l'application, d'effacer le dossier de données dérivées et quelques autres suggestions, ce qui a finalement fonctionné pour moi a été de changer le paramètre de construction de la cible de projet pour le projet de framework personnalisé (pas la cible de l'application): "Toujours incorporer = Swift Bibliothèques standard "à" OUI ". Le réglage de la cible de l'application n'a pas d'importance. Je l'ai vérifié en réinitialisant le simulateur et en le reconstruisant. Ceci est similaire à la réponse de Daniele Ceglia mais je n'ai pas pu ajouter de commentaire et je voulais apporter plus de clarté.
J'ai eu un problème similaire dans un projet Objective-C où j'ai commencé à inclure des fichiers Swift.
Dans mon cas, j'ai créé deux cibles dans le projet principal et j'ai ajouté un fichier Swift vide), qui crée un fichier d'en-tête de pontage et certaines configurations, mais je ne l'ai marqué qu'en tant que membre d'un La première cible fonctionne correctement, mais pas la seconde, et j’ai remarqué que les différences entre les paramètres de construction étaient les suivantes:
Runpath Search Paths ->
$(inherited)
et@executable_path/Frameworks
Et je devais également faire référence à Objective-C Bridging Header au fichier créé auparavant:
En-tête de pontage Objective-C ->
pathTo/Target-Bridging-Header.h
Après avoir ajouté ces deux paramètres, la deuxième cible a commencé à fonctionner correctement.
Essayez de nettoyer le dossier de construction, j'avais le même problème et je l'ai résolu de cette façon: Produit -> Nettoyer le dossier de construction
Pour moi, le nettoyage du projet résout le problème!
J'avais déjà les chemins de recherche Runpath définis correctement, mais cela ne fonctionnait toujours pas. La réponse de @Justin Domnitz m'a mise sur la bonne voie: la définition de "Toujours intégrer Swift Bibliothèques standard" ") sur Oui dans les paramètres de construction de ma cible a parfaitement fonctionné.
J'ai un tel problème aussi. Tous les autres moyens ne pouvaient pas m'aider. Je l'ai donc fait de manière stupide. J'ai créé un nouveau projet et une installation de pod à partir de rien. Après m'être assuré qu'il fonctionnait correctement, j'ai copié tous les fichiers de classe et de storyboard, enfin terminé. ! Je pense que c'est le dernier moyen pour cela, peut-être pourrait-il vous aider
Pour moi, le simulateur de redémarrage a résolu ce problème.
Veuillez vérifier le fichier * .framework S'il existe un répertoire de structure de signature _CodeSignature. S'il n'y a pas de dossier _CodeSignature, accédez aux phases de construction, cliquez sur + pour ajouter une nouvelle phase de copie du fichier afin de créer des fichiers de copie. après cela, référence * .framework et choisissez Code Sign On Copy
J'ai déjà eu ce problème dans iPod touch iOS 9.3. Et j'ai utilisé toutes les méthodes mentionnées dans ce post , mais aucune d'entre elles n'a fonctionné. J'ai vérifié les paramètres de mon projet. Et dans l'autre drapeau de lien, j'ai trouvé que j'avais ajouté -Wl,-sectcreate,__RESTRICT,__restrict,/dev/null
.
Cet indicateur empêche dyld insérer dans le téléphone jailbreaké. Lorsque je supprime ce drapeau, l'application peut être relancée. Je ne sais pas pourquoi cela a fonctionné. Parce que dans l'iPhone se iOS 10, je n'ai pas à supprimer cette ligne. Mais cela a fonctionné dans iPod touch iOS 9.3. Alors, vérifiez si vous êtes dans la même situation que moi.
J'ai essayé plusieurs des cas ci-dessus et cela n'a pas semblé résoudre mon problème. J'utilise git et cocoapods pour un projet, et l'erreur a disparu dès que j'ai effectué un nouveau commit.