36

既存の 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)

このリンカー エラーを解決してアプリをテストする方法を教えてください。

4

10 に答える 10

90

解決する手順:

  1. 別の名前で新しいスキームを作成する
  2. 古いスキームを削除

  3. 新しいスキームを追加

問題の原因:

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

ld: file not found:.././previousproductname.app/previousproductname

デバッグに失敗した手順:

  1. 派生データを削除し、Xcode を再起動しました。- 解決されていません。

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

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

于 2014-10-12T15:14:16.083 に答える
35

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

この設定の詳細については、「Adding Unit Tests to an existing iOS project with Xcode 4 」を参照してください。同じ手順を確認したところ、Xcode 5 でプロジェクトを修正するのに役立ちました。

于 2013-11-07T15:47:25.350 に答える
21

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

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

ここに画像の説明を入力

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

乾杯!!

于 2015-05-28T12:16:55.267 に答える
0

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

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

于 2013-11-01T04:39:24.577 に答える