由于 adMob 包的最新版本,我已将 MessageUI 框架添加到我的项目中。由于我希望将我的应用程序部署到 2.x 操作系统设备,因此我按照建议使用了弱链接 MessageUI。
如果我为 iPhone 设备 3.0 构建,它工作正常。
如果我为 iPhone 设备 2.2.1 构建,我会收到一个链接错误:“ld: framework not found MessageUI”
我哪里错了?
由于 adMob 包的最新版本,我已将 MessageUI 框架添加到我的项目中。由于我希望将我的应用程序部署到 2.x 操作系统设备,因此我按照建议使用了弱链接 MessageUI。
如果我为 iPhone 设备 3.0 构建,它工作正常。
如果我为 iPhone 设备 2.2.1 构建,我会收到一个链接错误:“ld: framework not found MessageUI”
我哪里错了?
此答案缺少重要信息 - 您还必须手动将特定框架设置为链接为“弱”而不是“必需”:
在xcode中-右键单击目标(!!!!)->获取信息->在“常规”选项卡中,在链接库列表中,右侧有一列标题为“类型”。
对于以前版本的 IOS 中不存在的框架,需要在那里执行更改。
您收到该错误是因为您正在针对未实现 MessageUI 框架的 SDK 版本进行构建。
您需要做的是为 iPhone OS 3.0 构建,但在目标的构建设置中,将 iPhone OS 部署目标设置为 iPhone OS 2.0(或您希望最终应用程序支持的任何最低版本)。这样,您可以与较新的框架进行弱链接,但仍可以将应用程序部署到较旧的设备。