2016-10-03 38 views
5

我正忙于构建将构建iOS应用程序的Jenkins版本。我已成功地用这个命令成功创建归档:XCodeBuild -exportArchive不会允许我指定文件名

xcodebuild archive -archivePath build/app.xcarchive 

现在我想的是归档出口与指定输出文件名,但不能得到这个work.In下面的例子我想叫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 

苹果的xcodebuild联编文件说,你可以指定输出路径,包括文件名称:

-exportPath目标路径 指定导出产品的目的地,包括导出文件的名称。

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

这样做的原因是,我想保留构建通用的,所以,我通过它发送的任何项目将导致app.ipa没有我需要跟踪项目名称和不同的输出文件等

+0

什么是'xcrun xcodebuild'。我以前从来没有见过类似的东西。 – midori

+0

“xcrun提供了一种从命令行查找或调用开发人员工具的方法,无需用户修改Makefile或采取不方便的措施来支持多个Xcode工具链。” https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/xcrun.1.html – Craigt

+1

是的,以前没有-exportOptionsPlist,同一个命令创建指定的文件,现在在8.3之后,它制作一个文件夹,并在.ipa文件夹内。除了使用mv以外是否有任何解决方法? – karim

回答

2

如果你做一个xcodebuild --help它说:

-exportPath PATH specifies the destination for the product exported from an archive 

嗯。

要做一个解决方法,你可以在之后重命名你的文件。

mv "oldname" "newname" 
+0

嗨,如果不知道“老名字”是什么,我会喜欢做到这一点。我想为多个项目重新使用这个相同的构建脚本,并且不知道输出文件名是什么。 – Craigt

+0

苹果是否摆脱了为.ipa文件指定文件名的能力?看起来很奇怪,他们让你指定它为.xcarchive,但不是生成的.ipa。 – Bungles

3

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

<ArchiveAction 
     buildConfiguration = "AdHoc_Example" 
     customArchiveName = "app" 
     revealArchiveInOrganizer = "YES"> 
    </ArchiveAction> 
</Scheme> 

当您通过-exportOptionsPlist导出归档这会给你app.ipa始终。

相关问题