从 xcode 命令行生成 ipa

Posted

技术标签:

【中文标题】从 xcode 命令行生成 ipa【英文标题】:Generating ipa from xcode command-line 【发布时间】:2012-01-10 04:39:18 【问题描述】:

从命令行生成 IPA 文件的最佳方法是什么?

我正在使用 xcode 4.2 并使用以下方法生成存档:

xcodebuild -scheme AppStore clean archive

这会在代码设计之后在构建输出目录中生成 .dSYM 和 .app 文件。我应该如何继续生成 .ipa 文件?换句话说,我正在寻找相当于在 GUI 中执行以下操作的命令行

    组织者 - 档案 分享 ios 应用商店包 不要重新签名

谢谢!

【问题讨论】:

【参考方案1】:

缺少的部分是使用 PackageApplication 实用程序。

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

您还可以传递此脚本选项以进行辞职和个人资料嵌入。分别使用--sign--embed 标志。

【讨论】:

如何访问 $FULL_PATH_TO_APP?如果我正在构建应用程序,而不是归档,我可以使用 BUILT_PRODUCTS_DIR。存档产品目录的 BUILT_PRODUCTS_DIR 等效项是什么?我知道我可以将存档目录的位置更改为自定义位置,但我不想拥有这种依赖关系。感谢您的回答! BUILT_PRODUCTS_DIR 也应该适用于存档,但我以为您说您不是存档,而是进行正常构建? 不,我正在归档,但 .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。 我更喜欢这个答案***.com/questions/5640776/… 这不再是一个有效的答案 PackageApplication 不存在【参考方案2】:

此工具使构建(和分发)变得简单:https://github.com/nomad/shenzhen

【讨论】:

这个工具是一个非常棒的解决方案。感谢发帖。【参考方案3】:

存档后,您需要“导出”为所需的格式,即 ipa:

xcodebuild -sdk iphoneos7.0 -archivePath "归档文件路径" -exportPath "path_for_export" -exportFormat ipa -exportArchive -exportProvisioningProfile "provisioning_profile_to_export_with"

【讨论】:

以上是关于从 xcode 命令行生成 ipa的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Xcode 8 从命令行自动生成配置文件?

为 Xcode 8.3.x 命令行 .ipa 指定路径/​​名称?

命令行中的 Xcode“构建和存档”

OTA AdHoc 分发 - 如何从命令行构建 IPA?

使用 xcodebuild 从 archive 导出 ipa

xcode 8 xcodebuild 从命令行对多个配置文件进行手动代码签名