我正在开展一项工作,我们正在使用C ++,Qt和CMake(以及其他方面)开发一组跨平台应用程序。在Mac上我们遇到了一个问题,我们需要将所有共享库打包到每个.app(目前有4个),这导致下载和安装的大小相当快。
我们希望对Mac的做事方式保持友好,这意味着我们希望支持拖放应用程序的能力。有没有人对如何做到这一点有任何想法,同时保持总体规模下降?
该项目目前是一组四个可执行文件或应用程序,每个都使用一组共同的共享库(qt和内部)。还有一组依赖于内部库的ruby绑定。我意识到你可以创建一个Framework并将其安装在System / Library / Frameworks中,但我还没有读过那么多。这样做似乎会破坏在机器之间拖放应用程序的能力。
有人知道在Mac上做类似事情的应用程序的任何示例吗?任何有创意的想法都会受到欢迎。
答案 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/