2013-08-23 3 views
5

ソリューション:だから、Mopubの指示にはEventKitEventKitUIが必要です。 MoPubに言及されているフレームワークに加えてこれらを追加することで、プロジェクトが構築されました。Xcodeのビルドエラーを理解する

更新: MoPubの指示が更新されました。


私は彼らのinstructionsに従うことによって、私のアプリにMoPubの完全なiOSのSDKを統合しています。残念ながら、私は自分のコードと必要なフレームワークを追加した後、次のビルドエラーを取得:

Undefined symbols for architecture i386: 

    "_OBJC_CLASS_$_EKAlarm", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKEvent", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKEventEditViewController", referenced from: 
     objc-class-ref in MPInstanceProvider.o 
    "_OBJC_CLASS_$_EKEventStore", referenced from: 
     objc-class-ref in MPInstanceProvider.o 
     objc-class-ref in MRProperty.o 
    "_OBJC_CLASS_$_EKRecurrenceDayOfWeek", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKRecurrenceEnd", referenced from: 
     objc-class-ref in MRCalendarManager.o 
    "_OBJC_CLASS_$_EKRecurrenceRule", referenced from: 
     objc-class-ref in MRCalendarManager.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

これらのエラーは何を意味するのですか?私はそれらを理解し、それを自分で修正する方法を理解したいと思います。通常、サードパーティの広告またはアナリティクスSDKを追加すると、統合プロセスは非常に簡単です。したがって、私はこれらのタイプのエラーを解決する経験はあまりありません。

注MoPubのフルSDKを自分のアプリとベアボーンのテストアプリに統合しようとしました。両方とも同じエラーを出します。

+2

その複製物の回答を読んでください。これらのリンカエラーについて説明します。 – rmaddy

+0

@rmaddyこれは間違いなく助けになりました!解決策(質問に追加)は、MoPubが言及しなかったフレームワークを追加するだけでした。私の意見では、MoPubの導入が更新されるまで、この質問は他の開発者にとって役立つかもしれないので、開いたままにしておくべきです。 – SundayMonday

+0

ハッ!ドキュメンテーションエラーのために2時間を無駄にしました:@まだ更新されていません。 –

答えて

1

外部ライブラリをアプリケーションに統合すると、一般にシミュレータまたはデバイスで動作するようにコンパイルされます。私は、あなたの.aファイルがデバイス上で動作するようにコンパイルされていると信じています。デバイス用にビルドすると、リンカの動作が良くなるはずです。

また、.aファイルを含めることを忘れているかもしれません。

+1

コメントに記載されている重複した質問の回答をお読みください。このようなリンカーエラーを読み取る方法を学ぶことは重要なスキルです。 – rmaddy

17

EventKit.frameworkをプロジェクトに追加します。

+0

「MRCalendarManager」には問題ありません。エラーをもう一度お読みください。問題は、 'MRCalendarManager'によって参照されている' EKxxx'シンボルが欠落していることです。つまり、 'EventKit'フレームワークをプロジェクトに追加する必要があります。 – rmaddy

+0

申し訳ありません。その後、EventKit.frameworkをプロジェクトに追加してください。 – satheeshwaran

+0

EventKitUI.frameworkもプロジェクトに追加してください。 – Tony

関連する問題