我试图通过PackageMaker的命令行界面自动化Mac OS X包构建。到目前为止,我设法构建包并运行postinstall脚本。告诉我有没有办法在通过命令行构建时添加选项?因为我希望用户有一个运行或不运行postinstall脚本的选项。 P.S .:我不想使用“.pmdoc”。这个选项很糟糕。Mac OS X PackageMaker
回答
正如我在评论中所说的,PackageMaker列出了我添加到项目中的文件并将其写入到它的项目中。所以,如果我想添加一个单独的文件,我需要打开项目,删除包含该文件的选择,最后,再次添加包含新文件的所有文件。或直接编辑项目的XML文件。使用PackageMaker自动构建我的项目包是无法忍受的。所以我改变了一个工具。一些谷歌搜索帮我找到了Packages。这个工具也不是很理想,但它比Apple的好得多。 Mojca大致描述了我迄今为止使用PackageMaker所做的工作。 虽然使用包我也不得不使用项目文件。但是,这个软件不收集有关您加入到项目中的所有文件的信息,除非你明确告诉它这样做:
您可以在照片,我在什么深度文件应包含项目有选择的看。 .app文件夹下的所有文件夹都被手动扩展,以确保可以包含新文件的文件夹不会被扩展。在这种情况下,它是Java文件夹。 下一页和最后一步是组装使用蚂蚁包:
<exec executable="/usr/local/bin/packagesbuild">
<arg value="-v"/>
<arg value="${basedir}/Installer/MyProject.pkgproj"/>
</exec>
这是不准确的回答你的问题,而是一个有经验的Mac开发谁花了很多时间去测试,并与PackageMaker战斗最近给我下面的提示:
您可以从命令调用PackageMaker行, ,但它看起来像苹果没有花费很多努力,很多东西 不起作用。因此改用GUI界面。
我决定接受他的教训。对我来说,作为一个相当不错的妥协方案,一次只使用GUI来准备初始文件并手动对这些xml文件进行任何后续更改。然后我们在Xcode项目的目标这就要求packagemaker:
packagemaker --doc $SRCROOT/Project.pmdoc --out $BUILT_PRODUCTS_DIR/stage/ProjectInstaller.pkg
hdiutil create $BUILT_PRODUCTS_DIR/Project-$VERSION.dmg -volname \"Project-$VERSION\" -fs HFS+ -srcfolder \"$BUILT_PRODUCTS_DIR/stage
,让所有我们现在需要做的(除了增加.pmdoc
文件版本)来调用
xcodebuild -target Package
获得.dmg
图片。
我决定发布这个答案,尽管你明确要求不要使用.pmdoc
主要是从头开始创建一个包时分享(别人的)不好的CLI体验。也因为我第一次没有意识到用GUI创建一个包并不意味着我每次需要修改或构建一个包时都需要使用“奇怪的GUI工具”。
我对* .pmdoc *有不好的体验。为什么我不想使用它的主要原因 - 不可能只给一个文件夹gui PackageMaker。这个丑陋的东西枚举了给定文件夹中的所有文件,并将它们的列表写入到它的项目文件中。这就是为什么您不能将单个文件添加到部署单元,而不会再次混淆.pmdoc和PackageMaker。这是非常不方便的。我想我会回答描述我现在使用的解决方案。 –
挣扎与packagemaker的命令行参数一段时间后,我发现有更先进的日期和相关工具:pkgbuild和productbuild。
自从我找到一种方法来做我想折磨包装工的人,我从未使用过他们。
希望这会帮助一些不幸的Mac开发者。
感谢您的回答。现在我正在使用第三方工具* Packager *。也许我会在下一个mac项目上尝试一下你的建议。 –
- 1. 在PackageMaker中使用脚本(Mac OS X)
- 2. 带有Java应用的Mac OS X上的PackageMaker
- 3. 未安装Mac OS PackageMaker .app软件包?
- 4. 在Mac OS X
- 5. SDL + emacs + Mac OS X
- 6. FreeTDS Mac OS X MiniPortile
- 7. Subversion与Mac OS X
- 8. 就在Mac OS X
- 9. 升级MAC OS X
- 10. SetWindowsHookEx for Mac OS X?
- 11. Mac OS X和Mercurial
- 12. clamxav homebrew mac os x
- 13. GKSession与Mac OS X
- 14. MAC OS X - Xcode4和
- 15. Mac OS X + cakephp + SqlServer
- 16. MSCGen for Mac OS X
- 17. 在PackageMaker中插入到Mac OS X软件包安装的网页链接
- 18. 有道定位在Mac OS X上的.app /运行PackageMaker用的XCode 4.3
- 19. MAC OS X上的单声道Capitan:LSOpenURLsWithRole
- 20. GCC标志-Os来自Mac OS X?
- 21. Mac OS X上的Applet 1.6
- 22. 电子签名mac os x
- 23. Mac OS X PDF操作
- 24. 的Qt:在Mac OS X
- 25. 在Mac OS X和玛雅
- 26. virtualenv pip mysqldb mac os X python
- 27. 崩溃在Mac OS X pthread_specific()
- 28. Mac OS X程序EXEC_BAD_ACCESS
- 29. 的Visual Studio在Mac OS X
- 30. VLCKit为MAC OS X 10.7
我写了关于在此处使用[pkgbuild和productbuild](http://stackoverflow.com/questions/11487596/making-os-x-installer-packages-like-a-pro-xcode4-developer-id-mountain -lion-RE/11487658#11487658)。 PackageMaker一直都是鬼鬼祟祟的,而且被Mac OS X 10.6 Snow Leopard弃用。 – catlan