使用归档时xcodebuild参数被忽略
我的名字是Luca,目前我正在开发iOS持续集成,以使用shell脚本编写xcode中的应用程序以分发(Ad Hoc和App Store)。
到目前为止,我用IPA文件取得了很好的结果。 我的问题是在App Store中分发。 要从脚本构建一个.app(传递一些参数),我需要:
xcodebuild -scheme myScheme -configuration myConfiguration PRODUCT_NAME=myProductName TARGETED_DEVICE_FAMILY=myTargetedDeviceFamily .... etc
由于使用XCode 4.2,应用程序提交使用XCode Organizer窗口完成,我必须也能够将我的可执行文件存档。
因此我修改了前面的命令行如下:
xcodebuild -scheme myScheme -configuration myConfiguration PRODUCT_NAME=myProductName TARGETED_DEVICE_FAMILY=myTargetedDeviceFamily .... etc **archive**
不幸的是,在我这样做之后,'archive'参数似乎迫使xcodebuild忽略其他(PRODUCT_NAME,TARGETED_DEVICE_FAMILY,....),而我的输出是使用XCode预定义的构建设置构建的。
我希望能够通过xcodebuild传递参数并且有效,但'归档'操作似乎阻止了这一点。
我疯了,请帮助:)
谢谢
xcodebuild的归档操作似乎在Xcode 4.2中有一个bug。 通常可以将项目配置的覆盖指定为命令行参数或通过-xcconfig
参数。
虽然构建操作对它们表示尊重,但归档不会。 (大概这是因为归档是一种内部调用构建的元动作,但不会将选项传递给内部调用。)有一个OpenRadar错误描述了这个问题,所以据推测它已经向Apple报告。
最后,请注意,如果您要使用脚本中的归档操作,则不能依赖xcodebuild的退出代码。 归档操作总是产生0的退出码(按惯例成功)。 要检测构建失败,您需要刮取输出。
我遇到了同样的问题。 我目前的解决方法基本上是删除其他配置,以便存档被迫使用你想要的。 不是真的可以通过命令行完成的解决方案,希望Apple能够解决这个明显的问题。
这对原始海报来说可能太晚了,但可能会帮助其他人。 对于我的构建过程,我使用xcodebuild进行第一次清理然后构建,然后使用xcrun创建存档:
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "build/<Path_to_build_dir>/<App_Name>.app" -o "<Path_to_archive_output>.ipa" --sign "<signing identity>" --embed "<path to provision profile>.mobileprovision"
通过这个命令,我可以为应用商店创建一个存档,甚至可以像这样将临时构建上传到TestFlight:
curl http://testflightapp.com/api/builds.json
-F file="<path to archive>"
-F api_token='<api token>'
-F team_token='<team token>'
-F notes='Automated build'
-F notify=True
-F distribution_lists='me'
这适用于xcode 6.1
链接地址: http://www.djcxy.com/p/10257.html