MFMailComposeViewController不链接模拟器

Fel*_*Cat 28 email iphone cocoa-touch document

首先,我正在使用XCode 4.0.2.

好的,这是我的问题.我可以为MFMailComposerViewController构建Apple示例程序并在模拟器中运行它(我知道它不会发送电子邮件,我只关心它构建).这似乎工作正常.

但是,当我尝试构建我的应用程序时,我收到以下消息.

ld: warning: ignoring file /Users/lloyd/Projects/iOS/simpleApp/MessageUI.framework/MessageUI, 
    missing required architecture i386 in file
    Undefined symbols for architecture i386: "_OBJC_CLASS_$_MFMailComposeViewController", referenced from:
  objc-class-ref in MailData.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

看"构建设置"(基本和组合)我看到我设置了"框架搜索路径".这很奇怪,因为我从来没有想过要设置它.删除它修复了问题.

我现在能够为模拟器和目标构建.注意:您不能从模拟器发送电子邮件,但您仍然可以运行代码(如果这是有意义的).

Spa*_*ker 86

在Xcode中,转到目标的构建阶段选项卡.确保你看到MessageUI.framework.如果不存在,请单击+添加新框架.

  • 我意识到这是一个老问题,但对于其他从网络搜索中出现的问题,问题可能是您有多个目标,而您忘记将框架添加到所有这些目标中.那发生在我身上. (2认同)

Fel*_*Cat 4

解决方案

查看“构建设置”(基本和组合),我发现我设置了“框架搜索路径”。这很奇怪,因为我从来不记得设置过它。删除它解决了问题。

我现在可以为模拟器和目标进行构建。注意:您无法从模拟器发送电子邮件,但您仍然应该能够运行代码(如果有意义的话)。

这是我的问题的解决方案:)