web-dev-qa-db-fra.com

comment résoudre le problème "dans le code de sortie 1" dans l'iphone

J'ai utilisé une bibliothèque statique de cacao dans mon application. Lorsque j'ai compilé ma bibliothèque, j'ai eu l'erreur suivante:

Shell Script invocation error:can't open input file:
/Users/sijuthomas/Library/Developer/Xcode/DerivedData/SCXML2-
    bbttehupryhijphhjdiemcytkvgy/Build/Products/Debug-iphonesimulator/
    libSCXMLParser.a (No such file or directory)
Command /bin/sh failed with exit code 1

 Screenshot for error

Comment puis-je réparer cela?

81
Ben10

 Target -> Build-Phases -> update examples

Cliquez sur On Run si elle n'est pas cochée.

190
Harshad

J'avais ce problème parce que je refusais l'accès au trousseau et, pour le résoudre, vous devez ouvrir le trousseau, Cliquez ensuite sur le verrou en haut à droite de l'écran pour le verrouiller à nouveau, Vous pourrez ensuite l'archiver. marchera

60
Salem Binmusaed

Supprimer les "données dérivées" a fonctionné pour moi.

Dans Xcode, sélectionnez Fichier> Paramètres de l'espace de travail> Cliquez sur la flèche en regard du chemin du fichier de données dérivées> déplacez le dossier "Données dérivées" dans la corbeille.

42
hgwhittle

On dirait que vous exécutez un script shell et qu'il ne trouve pas votre fichier spécifique. Regardez Target -> Build-Phases -> RunScript si vous exécutez un script.

Vous pouvez vérifier si un script est en cours d'exécution dans votre sortie de construction (dans le panneau de navigation). Si votre script fait quelque chose de mal, la phase de construction s'arrête. 

31
Mr Bonjour

J'ai eu le même problème l'a fait réparer. Suivez les étapes ci-dessous pour résoudre le problème dans Xcode 6.4.

  1. Cliquez sur Afficher le navigateur de projet dans la fenêtre Navigateur.
  2. Maintenant Sélectionnez le projet immédiatement sous la fenêtre du navigateur
  3. Sélectionnez Cibles 
  4. Sélectionnez l'onglet Build Phases
  5. Ouvrir la liste déroulante Exécuter le script
  6. Cochez la case Exécuter le script uniquement lors de l'installation de

 Screenshot for steps

Maintenant, nettoyez votre projet (cmd + shift + k) et construisez votre projet.

17
Jayprakash Dubey

Nettoyer le dossier de construction (Cmd + Maj + Alt + K) a fonctionné pour moi

9
nb07

1) Supprimez le dossier du pod et le fichier .xcworkspace 2) Ouvrez le dossier dans le terminal 3) Tapez "pod install"

3
Akil

Pour moi, mon certificat est expiré. J'ai créé un nouveau certificat.

1
Vincent

Avez-vous ajouté la bibliothèque .a au projet xcode? (projet -> phases de construction -> lien binaire avec bibliothèques -> cliquez sur le '+' -> cliquez sur 'ajouter un autre' -> choisissez votre bibliothèque)

Et peut-être que la bibliothèque n'est pas compatible avec le simulateur, avez-vous essayé de compiler pour iDevice (pas de simulateur)?

(Je me suis déjà battu avec le deuxième problème, j'ai une bibliothèque qui ne fonctionnait pas avec le simulateur mais avec un vrai appareil, elle compile ...)

1
Ashbay

J'ai essayé de redémarrer Xcode (7) et rien (le avez-vous essayé de l'éteindre et de le rallumer du développement iOS pour moi :-)). J'ai ensuite essayé en redémarrant ma boîte et cela a fonctionné. 

Dans mon cas, le script échouait lors de la copie d'un fichier d'un emplacement à un autre. Je pense que cela aurait pu être lié au visage du Finder avec des droits d'écriture sur certains dossiers.

0
Juan Fran Jimenez

Pour moi, cette erreur se produisait parce que je changeais le numéro de version de 1 en 1.0 et le numéro de build de 6 en 1.1 en extrayant le code de l’arborescence des sources. Je viens de le changer et de changer le numéro de build de 6 à 7 et cela fonctionnait bien.

0
Chaudhry Talha

J'ai tout fait et j'ai passé une heure sur le sujet. 

Tout essayé ci-dessus ainsi que redémarré Xcode.

Enfin, l'ordinateur redémarré et tout fonctionne à nouveau normalement!

0
Luke Mccormick

il suffit de mettre votre script dans un fichier et de l'exécuter avec 2>/dev/null en fin de ligne de commande!

De cette façon, s'il y a un problème avec la commande, cela n'arrêtera pas la construction de votre xcode

dans mon cas, j'exécutais simplement une commande pour désinstaller ma copie précédente de l'application à partir d'un iphone connecté, de sorte qu'une erreur pourrait se produire si l'iphone n'est pas là. Pour le résoudre:

$ mobiledevice uninstall_app com.my.app 2>/dev/null

0
Saeed Badran

Dans mon cas, il y avait un espace dans le chemin qui manquait au script. Si vous utilisez des variables telles que $PROJECT_DIR ou $TARGET_BUILD_DIR, remplacez-les respectivement "$PROJECT_DIR" ou "$TARGET_BUILD_DIR". Après avoir ajouté des guillemets, mon script s'est exécuté avec succès.

0
Desert Rose

Je vais énumérer les choses que j'ai faites n'ont pas fonctionné pour moi et enfin qu'est-ce que

Tout d'abord, la réponse acceptée du script d'exécution uniquement lors de l'installation ne fonctionne pas.

La suppression des données dérivées n'a pas fonctionné.

Qu'est-ce qui a fonctionné:

  1. J'ai ajouté une nouvelle phase de construction dans les phases de construction.

  2. Nouvelle phase de copie des fichiers

  3. Faites glisser le cadre choisi dans la cible de dépôt

  4. Définissez la 'Destination' sur les cadres

Crédit dû à Poste de Kevin Le

0
FullMetalFist

1) option:  Please check run the script only when installing...... it is right to answer of this question

2) option: mise à jour du pod, données dérivées propres, 

0
sumit rathore

Pour ceux qui ne veulent pas décocher cette option (en utilisant des cocoapodes par exemple), le problème pourrait provenir du certificat/de la clé.

Xcode (ou l’outil que vous utilisez, comme un outil de ligne de commande) doit pouvoir utiliser le certificat/la clé du trousseau. Pour cela, ouvrez le trousseau, recherchez le certificat que vous souhaitez utiliser (généralement sur le trousseau login, My Certificates), cliquez avec le bouton droit sur la clé, sélectionnez Get Info, cliquez sur l'onglet Access Control et ajoutez l'application à la liste.

Si cela ne fonctionne pas, essayez de déverrouiller le trousseau.

Vous pouvez également sélectionner Autoriser toutes les applications à accéder à cet élément au lieu d'applications spécifiques et/ou déplacer le certificat/la clé vers le trousseau System qui est partagé entre tous les comptes d'utilisateur de ce Mac.

Vérifiez également que le certificat n'a pas expiré.

0
rgkobashi

La seule chose qui a fonctionné pour moi:

1) Supprimer les données dérivées avec CleanMyMac: Système de courrier indésirable -> Xcode indésirable -> Données dérivées Xcode

Suppression de données dérivées avec CleanMyMac

2) Puis dans Xcode: Produit -> Nettoyer

0
Евгений М