我尝试在我的项目中使用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 :(得分:0)
这可能是一些事情。你如何将MailCore添加到你的项目?作为静态库?
您缺少armv7架构的编译文件。确保它已添加到MailCore项目的“构建设置”中,然后尝试构建它。 您可能为模拟器构建了MailCore,现在您正尝试在设备上运行它。这些必须分开。
此外,您必须确保MailCore正在使用的所有库(例如libetpan)都已正确编译。
PS:将MailCore添加到您的项目并不是一个简单的过程,但它是值得的。 :)
答案 1 :(得分:0)
首先,我会检查你是否已将libMailCore-ios.a添加到“链接的框架和库”列表中。
如果是这样,那么问题可能是MailCore项目是为一个设备编译的,而主项目是为不同的设备编译的。例如,
要解决此问题,请使用与主项目相同的设备(或相同的模拟器)重建MailCore子项目(构建清理和构建)。