为什么我可以在没有框架引用的情况下使用MessageUI?

时间:2017-03-09 06:55:19

标签: swift cocoa-touch

在我的Swift 2项目中,针对iOS 9.2及更高版本,在Xcode 8.2.1中,我有代码显示邮件撰写屏幕,如下所示:

if MFMailComposeViewController.canSendMail() {

    let composeMailVC = MFMailComposeViewController()
    composeMailVC.mailComposeDelegate = self
    composeMailVC.setSubject("Test")
    // etc
}

最初我在项目属性中引用了MessageUI.framework,但在删除框架引用并清理项目后,它仍然可以正常构建,当我在设备上运行代码时,仍会出现邮件撰写窗口并且似乎功能齐全。

我在MessageUI.framework文件的原始文本中找不到对.xcodeproj的任何明确引用,我的Objective-C桥接标题中也没有任何内容。

我知道Swift确实做了一些隐式框架引用,但我找不到任何暗示MessageUI.framework是其中之一的内容。

奇怪的是,当我跳转到MFMailComposeViewController的定义时,XCode会在MessageUI模块中显示它。

1 个答案:

答案 0 :(得分:0)

编译器自动添加框架工作给定其先前的方向 - IE。进口。