2016-11-22 14 views
3
Undefined symbols for architecture x86_64: 
"_BROADCAST_MODE_IBEACON", referenced from: 
-[MainViewController tableView:cellForRowAtIndexPath:] in MainViewController.o 
"_OBJC_CLASS_$_TZBeaconSDK", referenced from: 
    objc-class-ref in MainViewController.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

シミュレータを使用するときにこのエラーが発生します。私がiPhoneでそれを構築するときに問題はありません。シミュレータを使うと問題があります。アーキテクチャをビルド設定から変更しようとしましたが、エラーテキストの変更はi386と同じですが、問題は同じです。Xcode 8.1アーキテクチャx86_64の未定義シンボル

私はそのsdkを使用します。 TZBeacon

sdkに問題はありますか?あなたはその問題を解決するのを助けてくれますか?

+1

潜在的に 'libTZBeaconSDK.a'はSimulatorの" compatible "(ビルドされていない)ではないので、docを確認してください。 – Larme

答えて

3

通常、フレームワークのアーキテクチャがデバイス用に構築されている場合は、シミュレータでそのエラーが発生します。シミュレータ上で実行するためにシミュレータ用に構築されたフレームワークのバージョンを使用する必要があります。これは、フレームワークベンダーによって提供されるべきものです。

もしそれらが提供されていなければ、シミュレータではなくデバイスにビルドするときにそのフレームワークだけを調べてください。正しい方向にあなたを指し示すもう1つの答えがあります:How to only include a framework when building for device, not iOS Simulator?

8

あなたのライブラリはシミュレータをサポートしていません。それがサポートするどのアーキテクチャを確認するには、このコマンドラインを実行します。

lipo -info libTZBeaconSDK.a 

結果は次のとおりです。脂肪のファイルにアーキテクチャ:libTZBeaconSDK.aは、次のとおりのARMv7 arm64

だから、あなたはでテストする必要がデバイスではなく、シミュレータで!ここ

-1

シンプルなトリック:ゴー - >ゴー次のプロジェクトそして実行をきれい派生データを削除 "/ライブラリ/開発/ Xcodeのを" フォルダに移動します。

+0

役に立たなかった@PrasannaKumar – Alper

+0

役に立たなかった – Inuyasha

関連する問題