J'ai utilisé une bibliothèque statique de cacao dans mon application. Lorsque je compile ma bibliothèque, j'ai 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
Comment puis-je réparer cela?
J'ai eu ce problème parce que j'ai refusé l'accès au trousseau et pour le résoudre, vous devez ouvrir le trousseau, puis cliquez sur le verrou en haut à droite de l'écran pour le verrouiller à nouveau, après cela, vous pouvez archiver et cela fonctionnera
la source
La suppression des «données dérivées» a fonctionné pour moi.
Dans Xcode, allez dans Fichier> Paramètres de l'espace de travail> Cliquez sur la flèche à côté du chemin du fichier de données dérivées> déplacez le dossier "Données dérivées" vers la corbeille.
la source
Il semble 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 du navigateur). Si votre script fait quelque chose de mal, la phase de construction s'arrêtera.
la source
J'ai eu le même problème pour le résoudre. Utilisez les étapes ci-dessous pour résoudre le problème dans Xcode 6.4.
Maintenant, nettoyez votre projet (cmd + shift + k) et générez votre projet.
la source
Le nettoyage du dossier de construction (Cmd + Shift + Alt + K) a fonctionné pour moi
la source
1) Supprimez le dossier pod et le fichier .xcworkspace 2) Ouvrez le dossier dans le terminal 3) Tapez «pod install»
la source
Avez-vous ajouté la bibliothèque .a au projet xcode? (projet -> phases de construction -> Lier le binaire avec les bibliothèques -> cliquez sur le '+' -> cliquez sur 'ajouter 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 pour 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 qu'il compile ...)
la source
Pour moi, mon certificat est expiré. J'ai créé un nouveau certificat.
la source
J'ai essayé de redémarrer Xcode (7) et rien ( avez-vous essayé de l'éteindre et de le rallumer du développement iOS pour moi :-)). J'ai ensuite essayé de redémarrer ma box et cela a fonctionné.
Dans mon cas, le script échouait lors de la copie d'un fichier d'un emplacement vers un autre. Je pense que cela aurait pu être lié au visionnage du Finder avec les droits d'écriture sur certains dossiers.
la source
Pour moi, cette erreur s'est produite parce que j'ai changé le numéro de version de 1 à 1.0 et le numéro de version de 6 à 1.1 lorsque j'ai extrait le code de l'arborescence source. Je viens de le changer et de changer le numéro de version de 6 à 7 et cela a bien fonctionné.
la source
Dans mon cas, il y avait de l'espace dans le chemin qui échouait le script.Si vous utilisez des variables telles que
$PROJECT_DIR
ou$TARGET_BUILD_DIR
remplacez-les"$PROJECT_DIR"
ou"$TARGET_BUILD_DIR"
respectivement.Après avoir ajouté des guillemets, mon script s'est exécuté avec succès.la source
mettez simplement votre script dans un fichier et exécutez ce fichier avec 2> / dev / null à la fin de la ligne de commande!
De cette façon, s'il y a un problème avec la commande, cela n'arrêtera pas votre build xcode
dans mon cas, j'exécutais juste une commande pour désinstaller ma copie précédente de l'application à partir d'un iPhone connecté, donc cela pourrait donner une erreur si l'iphone n'est pas là. Pour le résoudre:
$
mobiledevice uninstall_app com.my.app 2>/dev/null
la source
La seule chose a fonctionné pour moi:
1) Supprimer les données dérivées avec CleanMyMac: System Junk -> Xcode Junk -> Xcode Derived Data
Suppression de données dérivées avec CleanMyMac
2) Puis dans Xcode: Produit -> Nettoyer
la source
J'ai fait tout ce qui précède et j'ai passé une heure sur la question.
J'ai tout essayé ci-dessus et redémarré Xcode.
Enfin, l'ordinateur redémarré et tout fonctionne à nouveau normalement!
la source
Je vais énumérer les choses que j'ai faites qui n'ont pas fonctionné pour moi et enfin ce qui a fonctionné
Tout d'abord, la réponse acceptée de Exécuter le script uniquement lors de l'installation n'a pas fonctionné.
La suppression des données dérivées n'a pas fonctionné.
Qu'est-ce qui a fonctionné:
J'ai ajouté une nouvelle phase de construction dans les phases de construction
Nouvelle phase de copie de fichiers
Faites glisser et déposez le cadre choisi dans la cible de dépôt
Définissez la 'Destination' sur Frameworks
Crédit dû au poste Medium de Kevin Le
la source
Pour ceux qui ne veulent pas décocher cette option (en utilisant des cocoapodes par exemple), le problème peut être avec le certificat / la clé.
Xcode (ou tout autre 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
login
trousseauMy Certificates
), faites un clic droit sur la clé, sélectionnezGet Info
, cliquez sur l'Access Control
onglet et ajoutez l'application à la liste.Si cela ne fonctionne pas, essayez de déverrouiller le trousseau.
Une autre option peut être de sélectionner Autoriser toutes les applications à accéder à cet élément au lieu d'applications spécifiques et / ou de déplacer le certificat / la clé vers le
System
trousseau qui est partagé entre tous les comptes d'utilisateurs sur ce Mac.Vérifiez également que le certificat n'est pas expiré.
la source
1) option:
2) option: mise à jour du pod, nettoyer les données de dérivation,
la source
Dans mon cas, l'un des scripts (lié à
SwiftGen
) échouait lors de la compilation.J'ai résolu le problème en supprimant
Pods
et en les mettant à jour à nouveau.Pods
répertoire ou utilisezpod deintegrate
pod install
oupod update
PS Il est possible que votre dépendance soit globale et ne soit pas dans des pods. Dans ce cas, vous pouvez également essayer de réinstaller cette dépendance.
la source
LISEZ CECI SI VOUS UTILISEZ Crashlytics ET QUE VOUS AVEZ CE PROBLÈME ...
J'avais le même problème que ci-dessus
Command /bin/sh failed with exit code 1
plus spécifiquement[31merror: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.[0m
La première solution (activer le script d'exécution uniquement lors de l'installation) m'a permis de construire ma cible dans le simulateur, mais je n'ai pas pu archiver ma build.
J'ai résolu ce problème d'archivage en activant Crashlytics sur Firebase. Je suis toujours habitué à Fabric où Crashlytics est automatiquement activé. Une fois que j'ai activé Crashlytics dans la console Firebase pour le GoogleService-Info.plist correspondant, j'ai pu archiver sans cette erreur.
la source
Retirez tous les pods et réinstallez-les.
Pas:
pod install
pod install
la source