MailCoreエラーIOS

私は自分のプロジェクトでMailCoreを使用しようとしますが、私はこれらのエラーを受け取ります:

Undefined symbols for architecture armv7:
  "_MailCoreEnableLogging", referenced from:
      -[ImapSync run] in ImapSync.o
  "_OBJC_CLASS_$_CTCoreMessage", referenced from:
      l_OBJC_$_CATEGORY_CTCoreMessage_$_CTCoreMessageBuisnessMail in CTCoreMessage+BuisnessMail.o
  "_OBJC_IVAR_$_CTCoreMessage.myFields", referenced from:
      -[CTCoreMessage(CTCoreMessageBuisnessMail) libetpanDateTime] in CTCoreMessage+BuisnessMail.o
      -[CTCoreMessage(CTCoreMessageBuisnessMail) senderDate] in CTCoreMessage+BuisnessMail.o
  "_OBJC_CLASS_$_CTCoreAccount", referenced from:
      objc-class-ref in AttachmentDownloader.o
      objc-class-ref in ImapSync.o
  "_MailCoreDisableLogging", referenced from:
      -[ImapSync run] in ImapSync.o
  "_IfTrue_RaiseException", referenced from:
      -[ImapFolderWorker fetchFrom:to:seqDelta:syncingNew:progressOffset:progressTotal:alreadySynced:] in ImapFolderWorker.o
ld: symbol(s) not found for architecture armv7

これらのメソッドはすべてそこにありますが、私はMailCoreProjectでそれらを見ることができます!

私は誰かが私を助けることを願っています

0

2 答え

これらは数多くのものになる可能性があります。あなたのプロジェクトにMailCoreをどのように追加しましたか?静的ライブラリとして?

armv7アーキテクチャ用のコンパイル済みファイルがありません。それがMailCoreプロジェクトの "ビルド設定"に追加されていることを確認してからビルドを試してください。 あなたはおそらく、シミュレータ用のMailCoreをビルドし、今ではそれをデバイス上で実行しようとしています。これらは分離する必要があります。

また、MailCoreが使用しているすべてのライブラリ(libetpanなど)が正しくコンパイルされていることを確認する必要があります。

PS:あなたのプロジェクトにMailCoreを追加するのは簡単なプロセスではありませんが、それはそれだけの価値があります。 :)

0
追加された

まず、「Linked Frameworks and Libraries」のリストにlibMailCore-ios.aを追加したかどうか確認します。

もしそうなら、あなたのメインプロジェクトが別のデバイスのためにコンパイルされている間、MailCoreプロジェクトが1つのデバイス用にコンパイルされている可能性があります。例えば、

  • MailCoreプロジェクトがシミュレータ用にコンパイルされました... MailCoreのシンボルがx86アーキテクチャ用に生成されました
  • メインプロジェクトが実際のiOSデバイス用にコンパイルされたため、リンカーはarmv7アーキテクチャのMailCoreシンボルを探していました
  • したがって、リンカーはarmv7アーキテクチャのシンボルが見つかりませんでした。

この問題を解決するには、メインプロジェクトと同じデバイス(または同じシミュレータ)を使用してMailCoreサブプロジェクト(ビルドクリーンおよびビルド)を再構築します。

0
追加された