MacOS Sandbox 下嵌入第三方 Framework 发布方法

Mac OS 有许多第三方的Framework,使用这些 Framework 的应用发布到 Mac App 商城时,考虑到审核及免去下载应用的人员安装 Framework 的繁琐过程,需要将 Framework 打在应用中一起发布,但有很多应用没有遵循 Sandbox 对 Framework 中路径的要求,需要通过工具对路径进行修改后才能正常在 sandbox 环境下使用:


1. 使用  otool -D xxx.framework/Versions/A/xxx 查看路径,如果不是 @loader_path/../Frameworks/xxx.framework/Versions/A/xxx, 

2. 使用 install_name_tool -change "/Library/Frameworks/xxx.framework/Versions/A/xxx" "@loader_path/../Frameworks/xxx.framework/Versions/A/xxx"

再使用 1. 的方法看看更改是不是成功,如果不成功,可能是第三方 framework 没有使用 -headerpad_max_install_names 进行编译。可用 UltraEdit 之类的二进制编辑工具查看路径,进行更改,注意长度不够时,需要同时更改 framework 的目录和目标LIB名称。

猜你喜欢

转载自blog.csdn.net/whyliu_/article/details/8580976
今日推荐