【问题标题】:MFMailComposeViewController doesn't link for simulatorMFMailComposeViewController 没有链接到模拟器
【发布时间】:2011-08-21 18:14:37
【问题描述】:

首先,我使用的是 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

解决方案

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

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

【问题讨论】:

  • 解决了...呵呵...
  • 如果不添加 MessageUI.framework 也会出现此错误:link
  • 是的。但事实并非如此,这才是最让人抓狂的部分。
  • @FeloneousCat 但模拟器似乎假装发送电子邮件。返回“已发送”结果...
  • 非常好!这解决了我的问题:) 谢谢

标签: iphone cocoa-touch email document


【解决方案1】:

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

【讨论】:

  • MessageUI.framework 是构建的一部分 - 请参阅上面的“解决方案”。
  • 我意识到这是一个老问题,但对于来自网络搜索的其他人来说,问题可能是您有多个目标并且您忘记将框架添加到所有目标。这发生在我身上。
【解决方案2】:

解决方案

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

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

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

【讨论】:

  • THAAAAANKK YOUUUU,我快疯了,但我想我现在知道为什么会这样了,我正在将框架从另一个项目拖放到这个项目......
【解决方案3】:

添加 MessageUI.framework 尽管文档说这不是必须的。

【讨论】:

    【解决方案4】:

    将 MessageUI.framework 添加到项目 Linked Frameworks and Libraries

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-27
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-22
      相关资源
      最近更新 更多