XCodeBuild -exportArchive不允许我指定文件名

Cra*_*igt 7 xcode xcodebuild jenkins ipa swift

我正在忙于构建将构建iOS应用程序的Jenkins构建.我已成功使用此命令创建存档:

xcodebuild archive -archivePath build/app.xcarchive 
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试通过指定输出文件名来导出该存档,但无法使其工作.在下面的示例中,我想要一个名为app.ipa的输出文件,但我得到的是一个名为app.ipa的文件夹名称为.ipa的ipa文件

xcrun xcodebuild -exportArchive -exportPath build/app.ipa -archivePath build/app.xcarchive/ -exportOptionsPlist exportOptions.plist

Outputs a file /build/app.ipa/<projectname>.ipa
Run Code Online (Sandbox Code Playgroud)

XCodeBuild的Apples文档说您可以指定包含文件名的输出路径:

-exportPath destinationpath指定导出产品的目标,包括导出文件的名称.

https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html

这样做的原因是我想保持构建通用,这样我通过它发送的任何项目都将产生app.ipa而不需要跟踪项目名称和不同的输出文件等.

mbi*_*mbi 6

这是作为开放式雷达中的一个错误提交的:"xcodebuild exportArchive -exportPath"没有写出它写入的内容


RAM*_*237 5

ArchiveAction在.xcscheme文件标签可以有属性customArchiveName可以设置为任何你喜欢的.

   <ArchiveAction
      buildConfiguration = "AdHoc_Example"
      customArchiveName = "app"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>
Run Code Online (Sandbox Code Playgroud)

这将app.ipa始终在您导出存档时提供给您-exportOptionsPlist.

  • 在 XCode 12 中它似乎不再起作用了。看看这是一个错误还是一个功能:) (2认同)

mid*_*ori 3

如果你这样做,xcodebuild --help它会说:

-exportPath PATH specifies the destination for the product exported from an archive
Run Code Online (Sandbox Code Playgroud)

嗯。

要解决此问题,您可以稍后重命名文件。

mv "oldname" "newname"
Run Code Online (Sandbox Code Playgroud)