xctool build with today extension

我的梦境 提交于 2020-01-03 10:42:09

问题


we have an app integrated with today extension, we use xctool and Jenkins to do continuous build and in-house distribution.

In command line, before we use

xctool -workspace our_workspace.xcworkspace -scheme app_schme -xcconfig path_to_xcconfig -configuration Release build archive -archivePath path_to_archive

to generate archive and then export to .ipa, it works fine.

But right now with today extension, we have to build it with another scheme and xcconfig, we put certificate and provisioning profile in xcconfig, as today extension is a new target and should built with its own certificate and provisioning profile, I'm wondering how to achieve using xctool.

Any help is appreciated.


回答1:


I finally managed to export ipa files via xcodebuild. Since the xctool is built upon xcodebuild, this answer might help.

First of all, when you create an extension, the extension's target will be embedded into your main app's scheme.

So, there is no need to use two schemes.

Then, in your project settings page, create a new configuration, say AdHoc. And then you can set a new Provisioning Profile in both of your target's build settings.

(project settings)

(the build settings of one target)

Then set the right provisioning profiles for your targets (And you'd better set the code sign identity to automatic, so that Xcode can determine which code sign identity is to be used).

Next step, you can archive your app using xcodebuild with the new configuration you just created above:

xcodebuild -project Extension\ Demo.xcodeproj -scheme Extension\ Demo -sdk iphoneos -archivePath ./Build/extension-demo.xcarchive -configuration AdHoc archive

In this step, the codesign will sign two of your targets separately by the provisioning profiles you specified.

Finally, export the .xcarchive file to ipa, again using xcodebuild;

xcodebuild -exportArchive -archivePath ./Build/extension-demo.xcarchive -exportPath ./Build/extension-demo.ipa -exportWithOriginalSigningIdentity

Notice that -exportWithOriginalSigningIdentity is set, so that xcodebuild will not re-sign your ipa, and the code signature in the xcarchive file is preserved.



来源:https://stackoverflow.com/questions/27445649/xctool-build-with-today-extension

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!