web-dev-qa-db-ja.com

ファイルに必要なアーキテクチャ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)

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

24
Popeye

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

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

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

59
Sean D.

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

6
Marián Černý

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

1
Vijayavenkatesh

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

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

クリーンアンドビルド

0
Prakash

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

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

0
Nitin