xcode - 在应用程序包中嵌入多个交叉引用框架

标签 xcode macos frameworks

所以首先,我想说这个问题: Bundle framework with application in XCode

还有这个问题: OSX: changing path of .framework

两者都对我达到这一点非常有帮助,但我还没有完全做到这一点。

因此,就像前两个问题的原始发帖者一样,我正在尝试在我的应用程序包中嵌入一个框架。或者,更确切地说,问题是我试图在我的应用程序包中嵌入多个框架,其中一些框架相互依赖。我相信即使我的应用程序可以成功找到框架(我已经更改了安装目录以便框架知道它们在哪里),但相互引用的框架仍在寻找要安装在正常 ~/Library 中的框架/框架目录。

这是我在尝试运行我的应用时得到的输出:

Dyld Error Message:

Library not loaded: @rpath/SDL.framework/Versions/A/SDL

Referenced from: /Users/Daly/Library/Developer/Xcode/DerivedData/Coin_Checkers_2-cibyiolfgsmcicdrcfxufftxzbsk/Build/Products/Debug/Coin Checkers 2.app/Contents/MacOS/../Frameworks/SDL_image.framework/SDL_image

Reason: image not found

Binary Images: 0x7fff5fc00000 - 0x7fff5fc3be0f dyld 132.1 (???) <29DECB19-0193-2575-D838-CF743F0400B2> /usr/lib/dyld

在我看来,它正在正确加载 SDL_image,但在 SDL_image 引用 SDL 时失败。我可以使用任何类似的技巧将 SDL_image 框架定向到我的嵌入式 SDL 框架的正确位置吗?

非常感谢!

最佳答案

哦,没关系。直到它出现在侧面的相关部分中,我才看到这个问题: Embedding frameworks in a Mac App Bundle

显然我需要做的就是设置运行路径搜索路径,这解决了我所有的问题。我曾尝试设置框架搜索路径,但这似乎没有帮助。

事实上,我重新下载了框架以查看是否需要 install_name_tool 步骤,但似乎不需要。他们在没有它的情况下工作。有趣。

关于xcode - 在应用程序包中嵌入多个交叉引用框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13060727/

相关文章:

ios - 如何在准备中的 viewController 之间通过引用传递快速数组(对于 segue :?

macos - 基于非文档的应用程序中的 NSUndoManager

ios - 无法使用 CoreFoundation 从自定义框架访问资源包

iphone - SystemConfiguration.framework 显示为红色

ios - 根据启动参数定义快速类型别名

java - Android Studio 设备监视器无法在 Mac 上打开?

ios - UIApplicationDelegate 与 NSApplicationDelegate,MainMenu.xib

php - 从 Laravel 框架创建一个在线用户(问题)

python - 类似于 Pylons for Ruby 的框架

iphone - removeFromSuperview 完成后,会显示一个白色屏幕