在问这个问题之前,我一直在网上搜索(和S.O.)一段时间。但我完全陷入困境,我不知道如何解决这个问题。
我必须使用XCode 4在.app包中嵌入一个自定义框架。我知道我必须使用install_name_tool
实用程序来修复框架的安装路径。我这样做了:
install_name_tool -change /Library/Frameworks/Ogg.framework/Versions/A/Ogg @executable_path/../Frameworks/Ogg.framework/Versions/A/Ogg <input framework>
我已经通过查看文件的“上次修改”时间戳来验证框架是否已实际处理。
现在问题:框架被复制到应用程序包中,但是当我运行应用程序时,它崩溃了,并且在错误报告中它告诉我找不到/Library/Frameworks/Ogg.framework/Versions/A/Ogg
图像。请注意错误的名称。
我确定我正在嵌入正确版本的框架(由install_name_tool
修改的版本)。
我该怎么办?提前谢谢。
编辑:我甚至尝试从源代码重新编译库,指定不同的安装路径,但问题仍然存在。我在我的应用程序的可执行文件上尝试了otool -L
,它列出了错误路径的Ogg框架(/Library/Frameworks/....
)。我不知道它在哪里。请帮忙......
答案 0 :(得分:1)
您希望在应用程序的二进制文件上运行install_name_tool
。
或者您可以在将应用程序链接到之前将框架的安装名称更改为@executable_path/../<blah blah>
。