iPhoneで問題「コマンド/ bin / shが終了コード1で失敗した」を修正する方法


92

アプリケーションでcocoa静的ライブラリを使用しました。ライブラリをコンパイルすると、次のエラーが発生しました。

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

エラーのスクリーンショット

どうすれば修正できますか?

回答:


206

 ターゲット->ビルドフェーズ->更新例

選択されていない場合は、[実行時]チェックボックスをクリックします。


2
このチェックボックスは、ビルドフェーズ→React Nativeコードとイメージをバンドルする場合があります。
リシャット2016

4
私にとってこれは電話でアプリをビルド/インストールするときに機能しますが、アーカイブするときは機能しません
Adeem

この答えは正しいですが、ビルドモードをすべて取得するためにモードGenerc iOSデバイスを設定すると、再びエラーが発生します@Harshad
reza_khalafi

@reza_khalafiは、明確なデータがあることを確認し、派生データを削除します。その後、再試行してください。
Harshad

1
@Harshadはビルド中は機能しますが、アーカイブはできません
NGB

63

キーチェーンへのアクセスを拒否したため、この問題が発生しました。それを解決するには、キーチェーンを開く必要があります。次に、画面右上のロックをクリックして再度ロックします。その後、アーカイブして、機能します。


3
どうもありがとうございます!ところで、少なくとも私にとってはロックは左側にあります。それは開いていて、閉じなければなりませんでした。
Eironeia

残念ながら覚えていないソースからこのソリューションを共有しました。
セーラムBinmusaed

製品をアーカイブしようとすると終了コード134が表示されましたが、アプリをデバイスにインストールできました。キーチェーンを開いていましたが、どこにでもロックが見つかりました。私のXcodeバージョン9.2は本当に助けが必要です
showmyroutes

42

「派生データ」を削除するとうまくいきました。

Xcodeで、[ファイル]> [ワークスペース設定]に移動し、[派生データ]ファイルパスの横にある矢印をクリックして、[派生データ]フォルダーをゴミ箱に移動します。


1
どのXcodeバージョンを参照していますか?... Xcode 6.2で参照しているメニュー/ウィンドウまたはオプションがありません
CthulhuJon

2
そのウィンドウで
CthulhuJon

機能しますが、プロジェクトをクリーンアップしてXcodeを再起動する必要がありました
Hosny

1
ファイル->ワークスペース設定...->派生データ。パスの最後にある矢印をクリックします。フォルダを右クリックしてゴミ箱に移動します。iOS 10.12.6
Augustas 2017年

30

シェルスクリプトを実行しているようですが、特定のファイルが見つかりません。見るTarget -> Build-Phases -> RunScriptスクリプトを実行かどうかを確認します。

(ナビゲーターパネルの)ビルド出力でスクリプトが実行されているかどうかを確認できます。スクリプトで問題が発生すると、ビルドフェーズが停止します。


SKM私は私の答えを編集しました。たぶんあなたの静的ライブラリを見つけるためにこのスクリプトを作成したXcodeかもしれません。ちなみに、/ Users / sijuthomas / Library / Developer / Xcode / DerivedData / SCXML2-bbttehupryhijphhjdiemcytkvgy / Build / Products / Debug-iphonesimulator / libSCXMLParser.aでファイルが見つからないため、コンパイルされません。したがって、必ずそこに含めてください
Bonjour氏、2012年

19

同じ問題が修正されました。Xcode 6.4の問題を解決するには、以下の手順を使用します

  1. クリックして表示プロジェクトナビゲータナビゲータウィンドウ
  2. 今、プロジェクトを選択し、すぐにナビゲータウィンドウの下
  3. ターゲットを選択
  4. [ ビルドフェーズ ]タブを選択します
  5. 実行スクリプトを開く ]ドロップダウンオプション
  6. インストール時にのみスクリプトを実行するチェックボックスを選択ます

手順のスクリーンショット

次に、プロジェクトをクリーンアップし(cmd + shift + k)、プロジェクトをビルドします。


これは受け入れられる答えになるはずです。問題のあるbi​​n / shにとってこれが解決策です。
Yash Bedi

9

ビルドフォルダーのクリーンアップ(Cmd + Shift + Alt + K)は私のために働いた


3

1)podフォルダーと.xcworkspaceファイルを削除します2)ターミナルでフォルダーを開きます3)「pod install」と入力します


1

.aライブラリをxcodeプロジェクトに追加しましたか?(プロジェクト->ビルドフェーズ->バイナリをライブラリにリンク->「+」をクリック->「他を追加」をクリック->ライブラリを選択)

ライブラリがシミュレータと互換性がない可能性があります。(シミュレータではなく)iDevice用にコンパイルしようとしましたか?

(私はすでに2番目の問題で戦っています。シミュレーターではなく、コンパイルする実際のデバイスで動作するライブラリーを取得しました...)



0

Xcode(7)を再起動してみまし、何もしませんでした(iOS開発のオフとオンを切り替えてみました:-))。次に、ボックスを再起動してみましたが、うまくいきました。

私の場合、ある場所から別の場所にファイルをコピーするときにスクリプトが失敗していました。私はそれが特定のフォルダに対する書き込み権を持つFinderのねじ込みに関連している可能性があると思います。


0

ソースツリーからコードをプルしたときにバージョン番号を1から1.0に、ビルド番号を6から1.1に変更したため、このエラーが発生しました。私はそれを元に戻し、ビルド番号を6から7に変更しただけで問題なく動作しました。


0

私の場合、スクリプトに失敗したパスにスペースがありました。またはのような変数を使用している$PROJECT_DIR場合$TARGET_BUILD_DIRは、それらを置き換える"$PROJECT_DIR"か、"$TARGET_BUILD_DIR"それぞれ置き換えます。引用符を追加した後、スクリプトは正常に実行されました。


0

スクリプトをファイルに入れて、コマンドラインの最後に2> / dev / nullを付けてそのファイルを実行するだけです!

このように、コマンドに問題がある場合でも、xcodeのビルドが停止することはありません

私の場合、接続されたiPhoneからアプリの以前のコピーをアンインストールするコマンドを実行していたため、iPhoneがそこにない場合はエラーが発生する可能性があります。それを解決するには:

ドルmobiledevice uninstall_app com.my.app 2>/dev/null



0

私は上記のすべてを行い、問題に1時間費やしました。

上記のすべてを試し、Xcodeを再起動しました。

最後に、コンピュータを再起動すると、すべてが再び正常に動作しました!


1
この投稿には答えが何も追加されていません。コンピュータの再起動は、何が問題であったかを説明するのに役立たないため、コメントにすることができます。
Bojan Petkovic

奇妙な問題、派生データの削除、新しいビルドシステムの切り替え/切り替えなし。しかし、再起動後、私は大丈夫でした!
Oritm

0

私は私がやった事リストアップします私のために動作しませんでしたし、最終的に何をしたかを

まず、インストール時にのみ実行スクリプトの受け入れられた回答が機能しませんでした。

派生データの削除は機能しませんでした。

何がうまくいったか:

  1. ビルドフェーズに新しいビルドフェーズを追加しました

  2. 新しいファイルコピーフェーズ

  3. 選択したフレームワークをドロップターゲットにドラッグアンドドロップします

  4. 「宛先」をフレームワークに設定します

Kevin Leの中型投稿によるクレジット


0

(cocoapodsなどを使用して)そのオプションのチェックを外したくない場合、問題は証明書/キーにある可能性があります。

Xcode(またはコマンドラインツールなど、使用しているツール)は、キーチェーンの証明書/キーを使用できる必要があります。これを行うには、キーチェーンを開き、使用する証明書(通常はloginキーチェーン上My Certificates)を見つけ、キーを右クリックしてを選択しGet InfoAccess Controlタブをクリックして、アプリをリストに追加します。

これが機能しない場合は、キーチェーンのロックを解除してみてください。

別のオプションは、特定のアプリの代わりにこのアイテムへのアクセスをすべてのアプリケーションに許可する、またはSystemそのMac上のすべてのユーザーアカウント間で共有されるキーチェーンに証明書/キーを移動することを選択できます。

また、証明書の有効期限が切れていないことを確認してください。


0

1)オプション: インストール時にのみスクリプトを実行することを確認してください......この質問の答えは正しいです

2)オプション:ポッドの更新、クリーンなデータの派生、


0

私の場合、スクリプトの1つ(に関連SwiftGen)がコンパイル中に失敗しました。

を削除してPodsから再度更新することで問題を修正しました。

  1. Podsディレクトリの下の問題のあるポッドを削除するか、pod deintegrate
  2. pod installまたはを使用してポッドをインストール/更新しますpod update

PS依存関係がグローバルであり、ポッド内にない可能性があります。その場合、その依存関係を再インストールすることもできます。


0

Crashlyticsを使用していて、この問題が発生している場合は、こちらをお読みください...

上記と同じ問題をCommand /bin/sh failed with exit code 1より具体的に抱えていました[31merror: Could not fetch upload-symbols settings: An unknown error occurred fetching settings.[0m

最初のソリューション(インストール時にのみ実行スクリプトを有効にする)では、シミュレータでターゲットをビルドできましたが、ビルドをアーカイブできませんでした。

このアーカイブの問題は、FirebaseでCrashlyticsを有効にすることで解決しました。Crashlyticsが自動的に有効になるファブリックにはまだ慣れています。対応するGoogleService-Info.plistのFirebaseコンソールでCrashlyticsを有効にしたら、このエラーなしでアーカイブできました。


-1

すべてのポッドを削除して、もう一度インストールします。

手順:

  1. すべてのポッドにコメントして実行する pod install
  2. すべてのポッドのコメントを外して実行 pod install
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.