web-dev-qa-db-ja.com

Xcode 4.5.1で「ファイルが見つかりません」、「リンカーコマンドが終了コード1で失敗しました」

既存のiOSアプリケーションを開発していますが、このプロジェクトの単体テストケースを作成する必要があります。 Simulator 6.0でビルドおよび実行されています。 プロジェクトをテストしようとするたびに、以下のエラーメッセージが表示されます。正確なエラーを把握できません。

id: file not found: /Users/Yuva/Library/Developer/Xcode/DerivedData/FlyApp-aexukpgtbathuadgxlnm/Build/Products/Debug-iphonesimulator/FlyApp.app/FlyApp
clag: error: linker command failed with exit code 1 (use -v to see invocation)

このリンカエラーを解決してアプリをテストするのを手伝ってもらえますか?

32
Yuvaraj.M

このエラーにより、1.30時間夢中になりました

製品名を変更し、スナップショットオプションを無効にしました。その後、突然このエラーが表示されます。

エラーはld:ファイルが見つかりません:.././ previousproductname.app/previousproductname

デバッグと修正のために従った手順

  1. オーガナイザーを開いて派生データを削除し、Xcodeを再起動します。 -未解決

  2. このリンクの手順に従ってください http://twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/ -同じエラーではなく解決しました。

  3. 最後にスキーム名を変更し、古いスキームを削除し、新しいスキームを追加して、問題を解決しました。

上記の手順はすべて有効です。

それから

84
raja

同じエラーメッセージが表示されました。アプリターゲットの名前を変更し、テストターゲット、ビルド設定、バンドルローダーの設定を新しいアプリ名に更新していませんでした。

この設定の詳細は Xcode 4を使用して既存のiOSプロジェクトに単体テストを追加する にあります。同じ手順を確認し、Xcode 5でプロジェクトを修正するのに役立ちました。

35
ahalls

スキームを削除してから再作成します(新しいアイコンをクリックするか、xcodeの自動作成を使用します)。わたしにはできる。

17
haotang

製品名を変更している必要があります。ワークスペース名と製品(アプリケーション)名が一致しないため、このエラーが発生します。

イメージに示されているように、ProjectName-TestsターゲットのTESTホストビルド設定で、ワークスペース名を製品(アプリケーション)名に置き換えるだけです。それに追いつくには、ProjectName-Testsターゲットを選択し、Build Settingsを選択して、Test Host用語を検索します。

enter image description here

これは、このエラーの標準的な構成ソリューションです。

乾杯!!

17
Kuldeep

Xcode 6では、次のことが必要です。

  1. 製品フォルダに移動します
  2. ファイル.xctextをクリックします
  3. 「ターゲット」でテストを選択します
  4. ホストアプリケーションでアプリケーションを選択します。
  5. [ビルドアプリ]をクリックします。

私のために働く!

6
Eli

ああ!これは、XCode 8.2から突然発生した、非常にイライラする問題です。

私の場合、テストターゲットをスキームから削除し、メインアプリをビルドおよび実行してから、テストターゲットを「テスト」セクションに再読み込みしました。

Testsターゲットは、まだ構築されていない派生データで必要なものを見つけようとしていたようです。テストをビルドしようとせずにアプリを実行すると、以前は欠落していた派生データを準備することができました。

...狂気はXCodeで同じことを2回行い、同じ結果を期待しています:|

1
bitwit

リンカは次の場所でファイルを探しています:/Users/Yuva/Library/Developer/Xcode/DerivedData/FlyApp-aexukpgtbathuadgxlnm/Build/Products/Debug-iphonesimulator/FlyApp.app/FlyApp

ファイルが存在するかどうかを確認するためにパスをたどりましたか? FlyApp.appはおそらくパッケージであり、Finderから表示する場合は「パッケージの内容を表示する」必要があることに注意してください。存在しない場合は、1)最初にFlyApp.appをビルドする必要があるか、2)存在するかどうかに依存するテストコードに何かがありますが、これは質問から判断することはできません。

0
Owen Hartnett

答えは、[ビルド設定]> [ライブラリ検索パス]エントリにあります。完全修飾パスがそこにリストされていないことを確認してください。それらを$ SRCROOTイディオムで装飾し、パスを二重引用符で囲みます。エスケープバックスラッシュがある場合は、それらも必ず削除してください。

クリーンを実行してからビルドすると、ビジネスに戻るはずです。これはXcode 5.xの問題のようです

0
Askar Hussain

新しいスキームを作成します。バンドルID /ターゲット名/実行可能ファイル/プロジェクト名などは、すべてわずかに異なる概念です。いずれかを変更すると(以前のように)、古いスキームは実行可能ファイルの名前として古い値を探すように設定されている可能性がありますが、ビルドプロセスはその実行可能ファイルをビルドしないように更新された可能性があります。

0
snakeoil