首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可移动介质上的.app OSX包问题

可移动介质上的.app OSX包问题
EN

Stack Overflow用户
提问于 2008-10-21 06:56:55
回答 2查看 181关注 0票数 1

因此,从我对Mac打包所知甚少的情况下,我看到实际启动的程序是在Info.plist中的CFBundleExecutable键下定义的程序。

代码语言:javascript
复制
<key>CFBundleExecutable</key>
<string>JavaApplicationStub</string>

现在,如果/ app /Content/MacOS/JavaApplicationStub不是chmodded +x,我的应用程序就不能工作(它只是在没有做任何事情的情况下静默地失败,这很痛苦!)。很公平,我想它不是可执行的。但这是一个很大的问题,如果你从某个地方复制应用程序,不支持文件的+x属性;例如windows,fat32 U盘,CDROM,网站,压缩文件等。

在这些情况下,我可以做些什么来使应用程序能够运行?手动设置执行位不是一个选项。

至少有一些人会在CD上运行Mac应用程序!

EN

回答 2

Stack Overflow用户

发布于 2008-10-21 07:10:01

我认为您唯一的选择是将应用程序捆绑包打包到DMG文件或tar中。

DMG更标准,就像使用tar或and一样简单。我们使用的命令行是:

代码语言:javascript
复制
hdiutil create -srcfolder Last.fm.app -format UDZO -imagekey zlib-level=9 -scrub Last.fm.dmg

你可以从任何平台(甚至是Windows,如果你安装了cygwin,或者使用GNU standalone,http://gnuwin32.sourceforge.net/packages/gtar.htm)

代码语言:javascript
复制
tar cf app.tar app_directory

使用gzip压缩:

代码语言:javascript
复制
tar czf app.tar.gz app_directory
票数 1
EN

Stack Overflow用户

发布于 2008-10-21 07:45:24

@mxcl,这行得通,谢谢。但是,您需要在Mac上运行hdiutil :(.此外,它还弄乱了应用程序的路径...有些文件(如db文件)不在.app文件夹中,因此不包含在.DMG文件中。

我正在windows上构建,并且应用程序正在部署到可移动媒体上。关键是要避免安装任何东西。

该应用程序也可以在windows上运行,因此在磁盘根目录的mac.app旁边有一个windows .exe。两个版本的应用程序还共享一个sqllite.db文件。多平台很难:/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/221006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档