在mac app bundle

时间:2017-12-18 11:11:21

标签: ios macos

我为Mac安装程序创建一个requirementsCheck.bundle项目,然后创建一个框架并将其拖到包中。

我认为这可能是因为我使用安装程序应用程序来运行捆绑包,因为我在安装程序运行时从捆绑项目中获得值[[NSBundle mainBundle]executablePath],它是/System/Library/CoreServices/Installer.app/Contents/MacOS/Installer。 因此,运行搜索路径可能来自此位置。

此框架的构建设置如下:

enter image description here

捆绑项目的构建短语如下:

enter image description here

捆绑项目的构建设置如下:

enter image description here

之后,我使用此捆绑包创建包并运行安装程序。输入此捆绑包时会发生错误。它说:Error loading /var/folders/d5/ydvs_pts06l_v4pltvtd80880000gn/T/com.apple.install.AifpVAae/TMRequiredChecking.bundle/Contents/MacOS/TMRequiredChecking: dlopen(/var/folders/d5/ydvs_pts06l_v4pltvtd80880000gn/T/com.apple.install.AifpVAae/TMRequiredChecking.bundle/Contents/MacOS/TMRequiredChecking, 265): Library not loaded: @rpath/XXXXX.framework/Versions/A/XXXXX Referenced from: /var/folders/d5/ydvs_pts06l_v4pltvtd80880000gn/T/com.apple.install.AifpVAae/TMRequiredChecking.bundle/Contents/MacOS/TMRequiredChecking Reason: image not found

我已经检查了复制到TMRequiredChecking.bundle / Contents / Frameworks`文件夹的框架,我尝试了很多不同的路径(@executable_path ../ Frameworks,@ loader_path / Frameworks),用于关键的“动态库安装名称库” “框架项目。他们都没有工作。所以任何人都可以告诉我如何通过捆绑项目找到这个框架。

谢谢!

1 个答案:

答案 0 :(得分:0)

我已经找到了此案例的解决方案。请参阅此链接的@loader_path说明Here

我将框架项目的“动态安装名称库”设置为@loader_path../Frameworks,然后将捆绑项目的“运行路径搜索路径”设置为@loader_path../Frameworks。那么每件事都可以。