从Xcode命令行生成ipa

19

如何通过命令行生成IPA文件是最佳方法?

我使用的是xcode 4.2,使用以下命令生成存档文件:

xcodebuild -scheme AppStore clean archive

这将在构建输出目录中生成 .dSYM 和 .app 文件,经过代码签名。我该如何继续生成 .ipa 文件呢?换句话说,我正在寻找命令行等效于在GUI中执行以下操作的方法

  1. 组织者 - 存档
  2. 共享
  3. iOS 应用商店包
  4. 不重新签名

谢谢!

3个回答

19

缺失的部分是使用 PackageApplication 工具。

/usr/bin/xcrun -sdk iphoneos PackageApplication -v $FULL_PATH_TO_APP -o $OUTPUT_PATH

您还可以通过向此脚本传递选项进行重新签名和嵌入配置文件。分别使用 --sign--embed 标志。


1
我如何访问$FULL_PATH_TO_APP?如果我正在构建应用程序而不是存档,我可以使用BUILT_PRODUCTS_DIR。存档产品目录的等效物是什么?我知道我可以将存档目录的位置更改为自定义位置,但我不想有这种依赖关系。感谢您的答案! - Vasanth
BUILT_PRODUCTS_DIR 应该适用于归档,但我记得你说你不是在归档,而是进行普通构建? - Joshua Weinberg
1
不,我正在存档,但是 .app 文件不在 BUILT_PRODUCTS_DIR 中,它位于 /Users/vasanth/Library/Developer/Xcode/DerivedData/Foo-drauzdtlrihjsddujotyhbjojcpa/Build/Products/Debug-iphoneos/Foo.app,而是在这里:/Users/vasanth/Library/Developer/Xcode/DerivedData/Foo-drauzdtlrihjsddujotyhbjojcpa/ArchiveIntermediates/Debug/InstallationBuildProductsLocation/Applications/Foo.app。但是我刚意识到可以使用 $INSTALL_DIR 而不是 $BUILT_PRODUCTS_DIR。 - Vasanth
我更喜欢那个答案:https://dev59.com/q2035IYBdhLWcg3wE7xr - bitle
这不再是一个有效的答案,PackageApplication不存在。 - Cameron Lowell Palmer

8

这个工具是一个非常好的解决方案。感谢你的发布。 - KrauseFx

7

在归档完成后,您需要“导出”到所需的格式,例如ipa:

xcodebuild -sdk iphoneos7.0 -archivePath "归档文件路径" -exportPath "导出路径" -exportFormat ipa -exportArchive -exportProvisioningProfile "要导出的配置文件名称"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接