我试图通过PackageMaker的命令行接口自动构建Mac软件包。到目前为止,我成功地构建了包并运行了postinstall脚本。告诉我有什么方法在通过命令行构建时添加选择吗?因为我希望用户有一个运行或不运行postinstall脚本的选项。我不想用".pmdoc“。这个选择太糟糕了。
发布于 2012-06-18 10:30:56
正如我在评论中所说的,PackageMaker列出了我添加到项目中的文件列表,并将其写入到项目中。因此,如果我想要添加一个文件,我需要打开项目,删除包含该文件的选择,最后,再次添加包含新文件的所有文件。或者直接编辑项目的XML文件。使用PackageMaker自动构建我的项目包是难以忍受的。所以我换了个工具。一些谷歌帮助我上网套餐。这个工具也不太理想,但它比苹果的要好得多。Mojca大致描述了我到目前为止对PackageMaker所做的工作。在使用包时,我还必须使用项目文件。但是这个软件不会收集你添加到项目中的所有文件的信息,除非你明确地告诉它这样做:

您可以在图片中看到,我可以选择将shoUld包含到项目的深度文件中。.app文件夹下的所有文件夹都是手动展开的,以确保可以包含新文件的文件夹也没有展开。在本例中,它是文件夹。下一步也是最后一步是使用Ant组装包。
<exec executable="/usr/local/bin/packagesbuild">
<arg value="-v"/>
<arg value="${basedir}/Installer/MyProject.pkgproj"/>
</exec>发布于 2012-07-19 14:59:28
经过一段时间的挣扎,我发现有更多最新的和相关的工具:pkgbuild和产品建设。
我已经有一段时间没有使用它们了,因为我找到了一种方法来做我想做的事--折磨包装师。
希望这能帮助一些不幸的Mac。
发布于 2012-05-30 10:24:02
这并不完全是您的问题的答案,但一位经验丰富的Mac开发人员最近花了大量时间与PackageMaker进行测试和斗争,给了我以下提示:
您可以从命令行调用PackageMaker,但看起来苹果并没有为此付出太多努力,而且很多事情都不起作用。因此,使用GUI界面代替。
我决定上他的课。作为一个很好的折衷方案,我成功的是,有一次只使用GUI来准备初始的.pmdoc文件,然后手工对这些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,主要是在从头创建包时与他人分享(他人的)坏经验。也是因为我第一次没有意识到用GUI创建包并不意味着每次我想修改或构建包时都需要使用“奇怪的GUI工具”。
https://stackoverflow.com/questions/10682583
复制相似问题