将 Mac App 从 Xcode 导出到计算机桌面时出现问题

Posted

技术标签:

【中文标题】将 Mac App 从 Xcode 导出到计算机桌面时出现问题【英文标题】:Problems exporting Mac App from Xcode to the computer desktop 【发布时间】:2015-04-23 02:46:05 【问题描述】:

在将 Mac 应用程序的编译副本导出到我的桌面并让它运行时,我遇到了一个令人沮丧的问题。首先是一些背景...

该应用程序包含两个引用的子项目。第一个项目创建一个档案,第二个项目创建一个框架。主项目都使用它们来执行某些功能。

应用程序在 Xcode 中运行良好。当我将其存档并尝试将其导出到我的桌面以查看它自己运行的情况时,问题就开始了。我为此使用常规程序,但是当我尝试从桌面启动应用程序时,它不会加载。有消息说动态加载器找不到框架对象。错误报告中看起来最有用的部分是这样说的......

Dyld 错误消息: 未加载库:@rpath/JXLS.framework/Versions/A/JXLS

引用自:/Users/USER/BuntingSimulator.app/Contents/MacOS/Baseball Situation Simulator

原因:图片未找到

JXLS 确实存在,但它绝对不在导出的 Mac 应用程序包中。有人对在哪里寻找或寻找什么有任何建议吗?我怀疑@rpath 的价值以及如何在主项目中引用或构建子项目。

提前致谢。

这是在我得到以下答案后添加的。如果有人需要使用它,我想我会说明对项目所做的更改,因为它们有点晦涩......

首先,需要在主目标的构建阶段添加一个复制文件步骤。这是什么意思?

具体步骤如下:

1:点击主项目的主要目标 2:选择构建阶段 3:点击加号添加构建阶段 4:会弹出一个框(选择New Copy Files Phase) 5:将“目标”选择更改为“框架” 6:将框架对象从左侧面板拖到名称部分 您刚刚创建的新复制阶段

其次,需要进入框架目标的“构建设置”,将@rpath替换为@executable_path/../Frameworks

【问题讨论】:

【参考方案1】:

如果您这样做是为了自己使用,请确保将 JXLS 复制到 /System/Library/Frameworks。

要不然看this answer。

【讨论】:

确实有效。这当然引出了一个问题,即当我将它发送到应用商店时如何使其工作。我会点击链接,看看发生了什么。感谢您的快速回答。

以上是关于将 Mac App 从 Xcode 导出到计算机桌面时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法导出 Xcode 键绑定?

如何从 Mac App Store 指定 Xcode 4.1 的安装位置?

无法从 Xcode 5 导出未签名的 IPA

当 Xcode 将“iCloud”权利添加到我的 iOS 项目的 App ID 时,它会使 Mac 的权利无效

使用 Xcode 6 测试 Mac 安装程序包

如何将游戏从Unity导到iOS设备上