4

我是 Xcode 和 Objective C 开发的新手,我正在尝试为 Mac OSX 环境导入 github MailCore InboxListener 示例Xcode 项目。我按照MailCore 网站上的 Mac OSX 说明进行操作,项目构建但没有运行。MailCore 似乎依赖于 /System/Library/Frameworks/CFNetwork.framework,它在我的 Mac OS X 10.7.5 上的 /System/Library/Frameworks/ 目录中不存在。

CFNetwork.framework 确实存在于 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks 中,但为什么 MailCore 不知道在哪里可以找到它?如何更改 MailCore 使用的位置?

我尝试在构建阶段链接 CoreServices.framework 和 CFNetwork.framework,但没有成功链接二进制文件。相同的运行时错误。

运行时输出:

dyld: Library not loaded: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
  Referenced from: /Users/cgray/Library/Developer/Xcode/DerivedData/InboxLister-hjoeknampqddvifxyoqwhozaricj/Build/Products/Debug/MailCore.framework/Versions/A/MailCore
  Reason: image not found
(lldb)

在此处输入图像描述

4

1 回答 1

2

这对我来说是一个脑筋急转弯!

我决定在您的项目、Mailcore 和 Libetpan 库的任何项目和目标中设置SDK 10.7 。然后在 Project navigator 中选择 libetpan 项目并检查:

  1. 打开CoreService.framework并检查是否有 CFNetwork.framework(如下所示)。如果它不存在,则您的代码不能包含 CFNetwork 位于 CoreService 伞形框架下的 SDK 10.7。
  2. 选择“ static libetpan ”目标并检查“Link Binary With Libraries”,您应该会找到 CoreService.framework。如果没有添加它(您也可以从项目导航器中拖放)

清理并构建,它应该可以工作!

在此处输入图像描述

于 2012-11-30T13:42:36.210 回答