我做得不好?
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_SKPSMTPMessage", referenced from:
objc-class-ref in MailSend.o
"_kSKPSMTPPartContentTransferEncodingKey", referenced from:
-[MailSend sendEmail] in MailSend.o
"_kSKPSMTPPartContentTypeKey", referenced from:
-[MailSend sendEmail] in MailSend.o
"_kSKPSMTPPartMessageKey", referenced from:
-[MailSend sendEmail] in MailSend.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我正在使用http://skpsmtpmessage.googlecode.com/svn/trunk/SMTPSender/
中的SKPSMTPMessage答案 0 :(得分:0)
你正在构建错误的平台。看起来你正在使用专为iphone设计的库,然后尝试在模拟器中运行。如果您只是直接在iOS设备上运行,此代码应该可以使用。
您尝试使用的库中的README告诉您如何链接库。 http://skpsmtpmessage.googlecode.com/svn/trunk/SMTPSender/README.txt
需要告诉编译器你正在构建什么--i386 / simulator或armv7 / iOS设备。如果正确链接库,它将使用它应该的部分。
答案 1 :(得分:0)
SKPSMTP的一个常见问题是忘记在项目中添加对CFNetwork.framework
的引用。你添加了吗?
答案 2 :(得分:0)
我单击了Project Navigator中的MailSend.m文件,并在File Inspector的Target成员资格中设置了目标名称附近的复选框。
我从下面的链接中找到了这个答案,并且几乎一字一句地复制了它。有了这个,我就能继续在原来的项目中工作。
Undefined symbols for architecture i386 "_OBJC_CLASS_$_Appirater"