我已经导入框架从应用程序发送电子邮件在后台即SKPSMTPMessage框架。有人能建议为什么下面的错误显示

Undefined symbols for architecture i386:

"_OBJC_CLASS_$_SKPSMTPMessage", referenced from:
  objc-class-ref in ConfirmController.o

"_kSKPSMTPPartContentTransferEncodingKey", referenced from:
  -[ConfirmController sendEmail] in ConfirmController.o

"_kSKPSMTPPartMessageKey", referenced from:
  -[ConfirmController sendEmail] in ConfirmController.o

"_kSKPSMTPPartContentTypeKey", referenced from:
  -[ConfirmController sendEmail] in ConfirmController.o

ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

框架的来源:-

锁定MFMailComposeViewController中的字段

更新:

答:只需将文件夹拖放到项目上,然后单击复制。 这就是选择项目复选框和目标复选框。


当前回答

在构建阶段检查是否复制了所有的bundle资源。

其他回答

在构建阶段检查是否复制了所有的bundle资源。

当我打开同一个项目两次时,我就遇到了这个问题,只有一个项目是原始的,另一个是从git url克隆的。

“产品”>“清洁”解决了这个问题。

是的,这和艾伦说的有关…在源文件的Utilities部分中查找TargetMembership。有一个复选框将该文件与项目关联起来。检查这个也为我解决了这个问题。

我也有同样的问题。我添加了2个框架,我需要构建阶段。 希望这对你有所帮助!

我也遇到了这个问题,我通过检查编译源和链接二进制库是否包含了我所需的所有文件/库/框架来修复它。