come risolvere il problema "Command / bin / sh fallito con exit code 1" in iphone


Answers

L'eliminazione di "Dati derivati" ha funzionato per me.

In Xcode vai su File> Impostazioni area di lavoro> Fai clic sulla freccia accanto al percorso del file Dati derivati> sposta la cartella "Dati derivati" nel cestino.

Question

Ho usato una libreria statica di cacao nella mia applicazione. Quando compilo la mia libreria ho ricevuto il seguente errore:

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

Come posso risolvere questo?




Ho fatto tutto quanto sopra e ho dedicato un'ora al problema.

Ho provato tutto sopra e ho riavviato Xcode.

Finalmente, riavviato il computer e tutto funziona normalmente di nuovo!




Per me questo errore si verificava perché ho cambiato il numero di versione da 1 a 1.0 e ho creato il numero da 6 a 1.1 mentre estraevo il codice dall'albero dei sorgenti. Ho appena cambiato e cambiato il numero di build da 6 a 7 e ha funzionato bene.




basta mettere lo script in un file ed eseguire quel file con 2> / dev / null alla fine della riga di comando!

In questo modo, se c'è un problema con il comando qualunque, non fermerà la tua build xcode

nel mio caso stavo eseguendo solo un comando per disinstallare la mia copia precedente dell'app da un iphone connesso, quindi potrebbe dare un errore se l'iphone non è presente. Per risolverlo:

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




Per me, il mio certificato è scaduto. Ho creato un nuovo certificato.




Per coloro che non vogliono deselezionare quell'opzione (usando cocoapods per esempio), il problema potrebbe essere con il certificato / chiave.

Xcode (o qualunque strumento tu stia usando, come uno strumento da riga di comando) deve essere in grado di usare il certificato / chiave dal portachiavi. Per questo aprire il portachiavi, individuare il certificato che si desidera utilizzare (di solito sul portachiavi di login , I My Certificates ), fare clic con il tasto destro sulla chiave, selezionare Get Info , fare clic sulla scheda Access Control e aggiungere l'app all'elenco.

Se questo non funziona, prova a sbloccare il portachiavi.

È possibile selezionare un'altra opzione Consenti a tutte le applicazioni di accedere a questo elemento anziché a specifiche app e / o spostare il certificato / chiave sul portachiavi System che è condiviso tra tutti gli account utente su quel Mac.

Controlla anche che il certificato non sia scaduto.




Sembra che tu stia eseguendo uno script di shell e non riesca a trovare il tuo file specifico. Guarda Target -> Build-Phases -> RunScript se stai eseguendo uno script.

È possibile verificare se uno script è in esecuzione nell'output di build (nel pannello di navigazione). Se il tuo script fa qualcosa di sbagliato, la fase di costruzione si fermerà.




La pulizia della cartella di build (Cmd + Shift + Alt + K) ha funzionato per me




Links