4

是否可以在不使用 Xcode Organizer 的情况下从 .xcarchive 包转到 .app 包?我想创建一个自动构建并获取我可以分发的最终 .app 文件。将 xcodebuild 与存档目标一起使用非常适合获取 .xcarchive 文件,但不适用于最终应用程序。

在 iOS SDK 中,有一个可以与 xcrun 一起使用的 PackageApplication 工具,但在 OS X SDK 中似乎不存在。

我也想这样做,因此我希望可以从分发过程中获得更多诊断信息,现在由于臭名昭著的 100021 操作系统错误代码,这对我来说是失败的。

4

3 回答 3

5

您查看过 .xcarchive 包的内部吗?它只是一个文件夹。您的 .app 目标应位于 Products 子文件夹中。

在 Finder 中,右键单击存档并单击Show Package Contents。在终端中,使用cd.

于 2012-12-10T06:37:58.417 回答
2

尝试命令中的-exportArchive标志xcodebuild

xcodebuild -exportArchive -exportFormat app -archivePath <path to .xcarchive> -exportPath "My App.app" -exportSigningIdentity "Developer ID Application: My Software Company"

此命令存在于 Xcode 5.0.1 中。有关可选参数的更多详细信息,请参见手册页。此示例导出一个 Developer ID 签名的应用程序。

于 2013-10-31T03:07:39.370 回答
1

以下是我对这个问题的发现:

  • 如前所述,xcodebuild 的归档构建操作非常适合获取 .xcarchive,但似乎没有从命令行执行验证或分发命令的实际方法。我希望这最终证明是错误的。

  • 我能够通过删除嵌入式框架目录中的嵌入式符号链接来欺骗验证工具。这可行,但在与 Apple 支持人员讨论后发现这是在欺骗工具,实际上并没有产生有效的结果。

  • Apple 支持人员表示,如果嵌入式框架中的 .plist 文件之一无效,他们会看到此错误代码。事实证明,在我的示例中,我有 3 个嵌入式框架,其中 1 个有一个空的 .plist 文件,可能是我手工构建的项目。修复此问题后,构建将继续愉快地进行。

于 2013-02-01T23:36:17.760 回答