我正在使用第三方库,例如:libABC.dylib
我想在开源应用程序中使用 dylib,并且想安装到我的 iphone 4 中,带有 ios 6,没有越狱。在做一个
$ otool -L libABC.dylib
libABC.dylib:
libABC.dylib (compatibility version 1.0.0, current version 1.0.0)
libXYZ.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
111.1.5)
现在我想将 dylib 与我的应用程序一起安装到我的 iphone 4 中。为此,我将 dylib 路径更改为
$ install_name_tool -id @executable_path/../Frameworks/libABC.dylib libABC.dylib
另外,我将 libABC.dylib 添加到 Xcode 项目下的 Frameworks 中。
这会将内部 dylib 路径更改为
$ otool -L libABC.dylib
libABC.dylib:
@executable_path/../Frameworks/libABC.dylib (compatibility version
1.0.0, current version 1.0.0)
libXYZ.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
111.1.5)
问题是:libABC 在应用程序启动时加载,我无法将此路径更改为相对于我的 mach-o 二进制文件的路径(在我的应用程序包中)所以我的应用程序无法加载。
Dyld Error Message:
dyld: Library not loaded: /usr/local/lib/libABC.dylib
Referenced from:
....
Reason: image not found
请给我一些方向。第三方库只创建dylib,没有静态库
我还尝试设置 XCode 选项以从“@executable_path”获取 dylib,但它没有用。而且我不通过代码加载我的dylib?
请建议。我在这里一无所知。提前谢谢:)