我几天来一直在与这个框架错误作斗争。我已经从iphone3.0sdk中包含了MessageUI框架并导入了头文件(MessageUI / MessageUI.h)
任何人都知道这个错误意味着什么?
collect2: ld returned 1 exit status
symbol(s) not found
literal-pointer@_OBJC@__cls_refs@MFMailComposeViewController
".objc_class_name_MFMailComposeViewController", referenced from:
以下是构建日志的一些输出:
ld warning: in /Users/me/iphone/myApp/MessageUI.framework/MessageUI, missing required architecture i386 in file
Undefined symbols:
".objc_class_name_MFMailComposeViewController", referenced from:
literal-pointer@__OBJC@__cls_refs@MFMailComposeViewController in myViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
答案 0 :(得分:7)
您忘记链接到MessageUI.framework,或者您链接的版本错误。
以下是添加框架的正确方法:
现在你应该能够为模拟器和设备构建。
编辑:
来自ld的警告看起来像是将MessageUI.framework从模拟器SDK复制到了项目目录。删除它,ld应该找到正确的(当前SDK中的那个)。
答案 1 :(得分:0)
您不小心将iPhone SDK Framework复制到项目目录(磁盘上)。打开项目目录(将项目保存在磁盘上)并删除iPhone SDK Framework目录。
重建。