首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ConnectionKit中使用NSBundle框架

在ConnectionKit中使用NSBundle框架
EN

Stack Overflow用户
提问于 2012-02-17 05:32:08
回答 2查看 485关注 0票数 3

更新

从那以后,我花了很多时间学习如何使用install_name_tool & otool正确地完成这个任务,并在这里记录了这个过程:在NSBundles中使用框架

我想在我正在制作的连接工具包框架中使用NSBundle框架。

为了让我的包成功地加载框架,我将dynamic library install name更改为使用@loader_path而不是@executable_path

在构建并将框架包含在我的NSBundle中之后,运行加载我的包的程序,构建该框架之后,我的包就无法加载并产生以下输出:

代码语言:javascript
复制
Error loading MyBundle.rwplugin/Contents/MacOS/MyBundle:  dlopen(/Users/facelap/Library/Developer/Xcode/DerivedData/MyBundle-hiyhdkndcnuhspfqwcuyneqobeou/Build/Products/Debug/MyBundle.rwplugin/Contents/MacOS/MyBundle, 265): Library not loaded: @executable_path/../Frameworks/DAVKit.framework/Versions/A/DAVKit
  Referenced from: /Users/facelap/Library/Developer/Xcode/DerivedData/MyBundle-hiyhdkndcnuhspfqwcuyneqobeou/Build/Products/Debug/MyBundle.rwplugin/Contents/MacOS/../Frameworks/Connection.framework/Versions/A/Connection
  Reason: image not found

似乎Connection本身使用了一个框架。

我也有这个框架的来源。我尝试将其dynamic library install name设置为@loader_path,但这导致了类似的输出(而包未能加载)。

对于要在dynamic library install name中使用的框架内的框架,对于NSBundle来说,理智的条目是什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-23 15:26:33

看看撞车日志。它说,包不能加载DAVKit.framework,所以最简单的方法是重新构建ConnectionKit框架,而不是嵌入DAVKit.xcodeproj,而是插入DAVKit的所有源。它最简单但更正确的方法是设置ConnectionKit和DAVKit框架的安装路径。它的链接应该对你有帮助:可加载包中的嵌入框架

票数 1
EN

Stack Overflow用户

发布于 2012-05-18 09:27:07

您应该将您的包链接到DAVKit,并以与包含ConnectionKit的方式相同的方式将其包含在其中。这样就避免了提供多个深度的框架。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9323393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档