2016-09-16 9 views
1

設定が「リリース」に設定されていると、シミュレータ上にビルドできないiOSアプリがあります。 「デバッグ」はうまくいきます。さらに、「リリース」と「デバッグ」の両方の設定は、実際のデバイス上に構築されます。 Xcodeでは、エラーは次のようになります。iOSアプリがシミュレータ上にビルドされていますが、

Undefined symbols for architecture x86_64: 
"_OBJC_CLASS_$_BMWAnalytics", referenced from: 
objc-class-ref in BMWManager.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

私は、シミュレータのリセット、プロジェクトのクリーニング、および派生データの削除を試みました。このエラーの原因は何ですか?どのように修正しますか?同様の質問はhereですが、 'Debug'と 'Release'の間に相違がないようです。

+1

好奇心を持たずに、なぜシミュレータに対してリリースビルドを行っていますか?それには意味がありません。デバッグビルドを使用していくつかの基本的なテストを行いますが、実際のリリースビルドは実際のデバイスでテストする必要があります。 – rmaddy

答えて

0

このエラーは、BMWAnalyticsクラスを提供するコードが実行可能ファイルにリンクされていないことを意味します。

BMWAnalyticsクラスの@implementationが、ターゲット(またはターゲットがリンクするライブラリ)に含まれているファイルによって提供されていることを確認する必要があります。

関連する問題