2012-04-27 27 views
19

私はこの警告を受け取り続けています。ファイルに必要なアーキテクチャarmv7がありませんか?

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) 

私のアプリはシミュレータでうまく動作します。これは私が電話機をビルドしたときだけではありません。

答えて

60

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

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

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

+0

あなた、私の友人、岩。これは30秒かかり、即座に解決しました。ありがとう。 –

+0

nice - すばやい修正をいただきありがとうございます。 – Ramesh

+0

ありがとう!あなたはちょうど長い午後だったかもしれないものから私を救った:) – hover

0

あなたはそれを追加するよりものARMv7を持っていない場合、これは

1

Plsのは、すべてを追加してください..あなたを助ける、

希望...このarchsをでプロジェクト(Path => Project tittle(select Xcode blue color reject title) -> Build Setting -> ARCHS)に軍隊を追加あなたのアプリを構築するのに必要なライブラリ。 >設定を構築 - - >アーキテクチャ

クリック - あなたはいくつかのファイルを見逃しているように、このエラーは、プロジェクトicon->ターゲットをクリックして

0

ゴー...そうです>他の+と指定した列でいるARMv6を追加します。..

クリーンビルド

0

Carthageを使用して構築されたフレームワークを含めていて、デプロイメントターゲットがiOS 11に設定されていましたが、iOS 9用に構築されました。したがって、32ビットアーキテクチャ(armv7、i386)はありませんでした。私はそのフレームワークのデプロイメントターゲットをiOS 9に変更し、問題を修正しました。

関連する問題