用今天的扩展xctool构build
我们有一个与今天的扩展集成的应用程序,我们使用xctool和Jenkins进行连续构build和内部分发。
在命令行中,在我们使用之前
xctool -workspace our_workspace.xcworkspace -scheme app_schme -xcconfig path_to_xcconfig -configuration Release build archive -archivePath path_to_archive
生成存档,然后导出到.ipa,它工作正常。
但现在扩展,我们必须build立它与另一个计划和xcconfig,我们把证书和供应configuration文件在xcconfig,因为今天扩展是一个新的目标,应该build立自己的证书和configuration文件,我想知道如何实现使用xctool。
任何帮助表示赞赏。
我终于设法通过xcodebuild导出ipa文件。 由于xctool是build立在xcodebuild之上的,所以这个答案可能会有所帮助。
首先,当你创build一个扩展,扩展的目标将embedded到你的主应用程序的scheme。
所以,没有必要使用两个scheme。
然后,在你的项目设置页面,创build一个新的configuration,说AdHoc
。 然后,您可以在两个目标的构build设置中设置一个新的Provisioning Profile
。
(项目设置)
(一个目标的构build设置)
然后为您的目标设置正确的configuration文件(您最好将code sign identity
设置为自动,以便Xcode可以确定使用哪个代码标识标识)。
下一步,您可以使用xcodebuild将刚刚创build的新configuration存档为您的应用程序:
xcodebuild -project Extension\ Demo.xcodeproj -scheme Extension\ Demo -sdk iphoneos -archivePath ./Build/extension-demo.xcarchive -configuration AdHoc archive
在这一步中,密码将通过您指定的供应configuration文件单独签署两个目标。
最后,将.xcarchive
文件导出到ipa
,再次使用xcodebuild;
xcodebuild -exportArchive -archivePath ./Build/extension-demo.xcarchive -exportPath ./Build/extension-demo.ipa -exportWithOriginalSigningIdentity
请注意,设置了-exportWithOriginalSigningIdentity
,以便xcodebuild不会重新签名您的ipa,并保留xcarchive文件中的代码签名。