推荐的部署跨平台mac应用程序的方法

时间:2010-09-16 22:21:22

标签: macos project-management cross-platform

我正在开展一项工作,我们正在使用C ++,Qt和CMake(以及其他方面)开发一组跨平台应用程序。在Mac上我们遇到了一个问题,我们需要将所有共享库打包到每个.app(目前有4个),这导致下载和安装的大小相当快。

我们希望对Mac的做事方式保持友好,这意味着我们希望支持拖放应用程序的能力。有没有人对如何做到这一点有任何想法,同时保持总体规模下降?

该项目目前是一组四个可执行文件或应用程序,每个都使用一组共同的共享库(qt和内部)。还有一组依赖于内部库的ruby绑定。我意识到你可以创建一个Framework并将其安装在System / Library / Frameworks中,但我还没有读过那么多。这样做似乎会破坏在机器之间拖放应用程序的能力。

有人知道在Mac上做类似事情的应用程序的任何示例吗?任何有创意的想法都会受到欢迎。

1 个答案:

答案 0 :(得分:1)

制作安装程序,最好使用XCode工具附带的标准软件包制造商。 拥有一套应用程序的安装程序并不罕见。 Apple自己的iWork有一个安装程序和共享库。 如果您希望将应用程序分发给公司客户,那么制定标准.pkg非常重要:IT管理员希望远程自动化安装过程,这对于标准.pkg是可能的,但如果您写的话则不行自己定制安装程序。

对于文件展示位置,您应该了解Apple所描述的File System Domains。基本上,所有目录结构都重复三次:

/System/    : system domain
/           : local domain
/Users/name : user's domain

第一个由Apple保留。第二个是用于机器上用户共享的内容。第三个是针对特定用户。

共享对象被放入名为Library的目录中。所以我们有

/System/Library 
/Library
/Users/name/Library

您通常会在最后两个安装内容。在Library内,目录应按照here所述进行组织。通常,您将框架放在

Library/Frameworks/

Library/Application Support/your_app/Frameworks/