26

私はこの警告とエラーを受け取り続けます誰かが助けることができますか?

    ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms       /iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks//SystemConfiguration.framework/SystemConfiguration, missing required architecture armv7 in file
    Undefined symbols for architecture armv7:
    "_SCNetworkReachabilityCreateWithAddress", referenced from:
  +[Reachability reachabilityWithAddress:] in Reachability.o
   "_SCNetworkReachabilityCreateWithName", referenced from:
  +[Reachability reachabilityWithHostName:] in Reachability.o
   "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
  -[Reachability stopNotifier] in Reachability.o
   "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
  -[Reachability startNotifier] in Reachability.o
   "_SCNetworkReachabilitySetCallback", referenced from:
  -[Reachability startNotifier] in Reachability.o
   "_SCNetworkReachabilityGetFlags", referenced from:
  -[Reachability connectionRequired] in Reachability.o
  -[Reachability currentReachabilityStatus] in Reachability.o
   ld: symbol(s) not found for architecture armv7
   clang: error: linker command failed with exit code 1 (use -v to see invocation)

私のアプリはシミュレーターで正常に動作しますが、これは電話にビルドしたときだけではわかりません。

4

7 に答える 7

65

SystemConfigurationフレームワークに対してリンクする必要があります。Xcodeのプロジェクトナビゲータでプロジェクトを選択し、アプリターゲットを選択して、[ビルドフェーズ]タブを選択します。[バイナリとライブラリのリンク]で、[+]ボタンをクリックし、SystemConfiguration.frameworkを選択します。

同じ方法で追加する必要がある他のフレームワークの依存関係があるかもしれませんが、SystemConfigurationを追加することで、同じエラーが修正されました。

ETA:エラーにすぐにジャンプしましたが、貼り付けの上部にld警告が表示されませんでした。すでにSystemConfigurationにリンクしている場合は、それを削除して再度追加してみてください。他のすべてが失敗した場合は、Xcodeを更新してください。最新のリリースは間違いなく正しいアーキテクチャを備えているので、プロジェクトが間違った場所を探しているか、フレームワーク自体に何か問題があるように思えます。

于 2012-05-23T01:51:56.170 に答える
10

Carthageを使用して構築されたフレームワークを含めていて、その展開ターゲットがiOS 11に設定されていたが、iOS 9用に構築していたときに起こりました。そのため、32ビットアーキテクチャ(armv7、i386)がありませんでした。そのフレームワークの展開ターゲットをiOS9に変更し、問題を修正しました。

于 2018-03-04T13:32:36.707 に答える
3

この問題は、古いファイルを再利用してビルド時間を短縮しようとしたときに、XCodeがデバッグ、プロファイル、および最終リリースファイルを台無しにすることに関連しています。

XCodeは、単一のアーキテクチャ用に構築した以前のファイルを再利用しようとしているため、アーキテクチャが欠落しているのはそのためです(おそらく、すでに使用しているものとは逆です)。

XCode(⇧+⌘+ K)でプロジェクトをクリーンアップし、他のすべてのサードパーティライブラリも同様にクリーンアップしてみてください。その後、目的のリリースモードでアプリを直接再構築してみてください。これは、XCodeを再起動しなくても100%機能しました。

XCodeは悪臭を放ちます、他に何を言うことができますか?

于 2020-11-30T22:00:37.630 に答える
1

plsはあなたのアプリを構築するために必要なすべてのライブラリを追加することを確認してください。このエラーは、いくつかのファイルを見逃したようです。

于 2012-04-27T09:43:53.773 に答える
0

Path => Project tittle(select Xcode blue color reject title) -> Build Setting -> ARCHSarmv7がない場合は、このARCHSのプロジェクト()に軍隊を追加してください...

願っています、これはあなたを助けるでしょう..

于 2012-04-27T09:13:42.797 に答える
0

フレームワークのTwilioチャットクライアントでも同じ問題が発生しました。また、carthageフォルダーに移動し、その中のTwilio ChatクライアントフレームワークのInfo.plistファイルを開くと、最小展開ターゲットが11.0に設定されていましたが、10.0のアプリケーションを開発していたため、これらのアーキテクチャがありませんでした。

解決方法:Twilioチャットクライアントフレームワークを、展開ターゲットが9.0に設定され、ブームが機能する以前のバージョンにダウングレードしました。

于 2020-04-06T05:19:04.573 に答える
-1

移動プロジェクトアイコンをクリック->ターゲット->ビルド設定->アーキテクチャ

-> other +をクリックし、指定された列にarmv6を追加します。

クリーンアンドビルド

于 2012-04-27T09:58:10.993 に答える