L'exécution d'applications iOS provoque une erreur d'exécution pour les frameworks «signature de code non valide»

33

Chaque fois que j'essaie d'exécuter cette application, elle se construit correctement et s'installe, mais dès qu'elle s'exécute, l'application s'arrête et affiche ce message d'erreur. XCode 11 et iOS 13.

dyld: Library not loaded: @rpath/StandardCyborgFusion.framework/StandardCyborgFusion
  Referenced from: /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/StandardCyborgExample
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion: code signature invalid for '/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion'

J'ai vu de nombreux messages similaires sur ce problème et sur les forums des développeurs d'applications, mais aucun n'a d'explication ou de correctif valide. J'ai essayé

  • Nettoyage et construction
  • Redémarrer XCode
  • Redémarrer Mac
  • Réinitialisation complète du trousseau
  • Vérification de tous les certificats de trousseau Les paramètres de confiance sont sur "Utiliser les valeurs par défaut du système"
  • Réinitialisation d'usine de mon Mac

MISE À JOUR 1: Il semble que ce soit un problème avec mon appareil iOS. L'application peut démarrer sur un simulateur, mais le simulateur n'est pas bon pour mes besoins de développement, je dois donc faire fonctionner cela sur mon appareil. J'ai récemment mis à jour mon iPhone XR vers iOS 13.3.1.

MISE À JOUR 2: Trouvé un autre groupe semblant avoir le même problème https://github.com/flutter/flutter/issues/49504 .

Aidan Rosswood
la source
d'où vient StandardCyborgFusion.framework? contactez son développeur ...
user3441734
1
avez-vous essayé de lier ou d'incorporer le cadre?
The Pedestrian
1
Cette erreur se produit avec toutes les applications. N'est pas spécifique au cadre.
Aidan Rosswood
Ajout d'une mise à jour. Il semble être spécifique à l'appareil car il fonctionne sur simulateur, et un de mes amis est capable de compiler les mêmes cadres sur son appareil.
Aidan Rosswood
1
Votre cadre StandardCyborgFusion.fr n'est pas signé de code ou n'est pas compilé pour l'architecture arm64. Vous ne nous avez toujours pas dit comment vous avez obtenu le cadre. De plus, si quelqu'un vous dit de redémarrer Xcode pour résoudre les problèmes de compilation / liaison, supprimez-les.
Claus Jørgensen

Réponses:

25

J'utilise CocoaPods, et pour moi cela corrige l'erreur (Réponse de Wasa22 sur le problème github):

  1. Ouvrez le podfile
  2. Commentez use_frameworks!
  3. Ajoutez use_modular_headers!
  4. Dans Terminal, effectuez une mise à jour du pod -> installation du pod
  5. Dans Xcode, Clean (Command-Shift-K) -> Build and Run.

Source: https://github.com/Alamofire/Alamofire/issues/3051

Paul11100
la source
Cette solution fonctionne réellement!
RapsIn4
Je n'ai pas eu le temps de vérifier si cela fonctionne depuis que je viens d'emprunter un compte développeur d'amis, mais je vais marquer cela comme correct. J'apprécierais que d'autres puissent confirmer que cela fonctionne aussi pour eux.
Aidan Rosswood
Que faire si je n'ai pas le podfile, que puis-je faire dans ce cas?
abdou31
1
commenter use_frameworks et exécuter la commande de mise à jour du pod est suffisant
Lahiru Prasanna
27

Il s'agit d'un problème avec iOS 13.3.1. Tous les cadres dynamiques en cours de compilation vers la dernière version d'iOS 13.3.1 rencontrent ce problème lorsqu'ils sont exécutés sur un profil de provisionnement personnel / compte de développeur. La solution, copiée de jmagman de Github, est ci-dessous.

Vous pouvez:

  1. Utilisez un profil d'approvisionnement non personnel (compte développeur payant).
  2. Exécutez sur le simulateur 13.3.1.
  3. Testez sur un véritable appareil iOS exécutant la version 13.3 ou inférieure.
  4. Installez le profil bêta sur votre appareil de test et installez iOS 13.4 bêta 3. (Fixe)
  5. Attendez la sortie d'iOS 13.4.

Espérons que ce problème sera bientôt corrigé.

Aidan Rosswood
la source
Je rétrograde d'iOS 13.3.1 vers 13.3. Vous ne pouvez pas rester et attendre qu'Apple corrige cela.
Starsky
Huh ... il semble que je ne puisse pas sauvegarder mes données avec iOS 13.3.1, puis les restaurer sur iOS 13.3. C'est triste ((La restauration doit être effectuée sous les mêmes versions d'iOS. Donc, ce n'est pas une solution non plus ...
Starsky
Je souhaite que j'aurais trouvé cette réponse plus tôt. . . J'ai passé 3 heures à essayer de configurer mes paramètres de build, mes binaires et mes phases de build. . . Obtenir un compte payé l'a résolu presto
Marcus Kim
Pomme classique, créant un bug qui vous pousse à acheter quelque chose.
Darius Buhai
Merci beaucoup pour la réponse claire et correcte, +1.
mAc
3

Cela semble être corrigé sur iOS 13.4 beta 3. Vous pouvez installer le profil beta ou attendre la sortie d'iOS 13.4.

Jenn
la source
1
Le 24 mars, Apple a publié iOS 13.4. Cette mise à jour inclut un correctif pour le problème de signature de code! Veuillez vous référer à la version bêta 3 d'iOS 13.4 pour plus d'informations.
Rover
2

Je vois 2 façons de le réparer.

  1. Rétrograder vers iOS 13.3. iOS 13.3.1 casse la signature de tiers, sauf si vous avez un compte de développeur payant. Si possible (achetez un iphone pas cher dédié au développement)

  2. Mettre à jour Mac OS, Xcode et iOS vers la dernière version bêta (la mise à jour de chacun d'eux ne fonctionnera pas, car iOS bêta nécessite la dernière version bêta de Xcode et Xcode nécessite la dernière version de Mac OS Catalina)

zhuangr
la source
0

Si vous exécutez à partir de Xcode, vous verrez une erreur comme:

/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820-A146- 
 A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter: code signature 
invalid for '/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820- 
A146-A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter'

solution fournie par jmagman sur Github

jmagman est passé à Apple (FB7562472) et fera savoir à tout le monde s'il entend quoi que ce soit. plus de détails sur github

parikhparth23
la source
0

J'ai rencontré ce problème lors de la tentative de génération sur mon appareil iOS réel (mais cela a bien fonctionné dans le simulateur). J'ai passé au moins 10 heures à essayer de corriger ce bogue. J'ai tout essayé dans tous les forums, rien n'a fonctionné. Mais c'est ce qui a finalement fonctionné pour moi!

  • Mise à niveau d'iOS 13.3.1 vers iOS 13.4.1

Je n'aurais pas pu imaginer cela, mais c'est vrai qu'iOS 13.3.1 casse la signature des tiers à moins que vous n'ayez un compte développeur payé!

Échanger
la source
Il vous suffit de mettre à niveau votre appareil iOS vers 13.4.x. Après la mise à niveau, je peux exécuter un exemple de projet sans aucun autre ajustement.
corban