【发布时间】:2014-09-19 13:15:43
【问题描述】:
我正在尝试创建一个基本的 OS X 框架,现在我只创建了一个测试框架:TestMacFramework.framework,我正在尝试将它导入到一个全新的 OS X 应用程序项目中。
我已经构建了 .framework 文件并将其导入到新项目中,框架似乎链接正常,我可以引用我添加到框架构建阶段部分的公共头文件。
但是,当我尝试运行容器应用程序时,出现以下错误:
dyld: Library not loaded: /Library/Frameworks/TestMacFramework.framework/Versions/A/TestMacFramework
Referenced from: /Users/samharman/Library/Developer/Xcode/DerivedData/TestMacContainer-dzabuelobzfknafuhmgooqhqrgzl/Build/Products/Debug/TestMacContainer.app/Contents/MacOS/TestMacContainer
Reason: image not found
经过一番谷歌搜索后,我意识到我需要在我的容器应用程序构建阶段添加一个 Copy Files 部分,所以我已经这样做了,并像这样设置它......
但是,我仍然收到运行时错误。我显然在这里做错了,但苹果开发人员库资源为此引用了 Xcode 2,所以不是很有帮助!
我错过了什么?
更新:
我可以在构建日志中看到我的 TestMacFramework.framework 被复制到 .app 内容/框架目录中,但它没有被安装到 HD 上的 Library/Frameworks 目录中
更新 2:
如果我手动将TestMacFramework.framework 复制到Library/Frameworks 目录中,则构建链接正确
【问题讨论】:
-
otool -L告诉您应用程序希望在哪里找到框架? -
好的,我想出了如何运行它...这是我为我的库获得的输出(我已经排除了其他依赖项,如 Foundation 等)
/Library/Frameworks/TestMacFramework.framework/Versions/A/TestMacFramework (compatibility version 1.0.0, current version 1.0.0) -
我的解决方法是将我需要的库嵌入为二进制文件 (Alamofire)。这可以接受吗?
-
这个问题被明确标记为针对 OS X,并且所有答案(包括接受的答案)都是针对 iOS 的,这非常令人困惑。我有同样的错误,无法使用任何答案。
-
@RenniePet 由于 Xcode 7.3 的过程对于 iOS 和 macOS 框架是相同的,因此接受的答案是正确的方法。如果您仍然遇到问题,这可能是一个不相关的问题?
标签: macos frameworks xcode5 dyld