通过命令行构建iOS App Extension

我正在尝试从命令行构建一个包含app扩展的iOS应用程序.但是,当我使用以下 xcodebuild命令来构建时:
xcodebuild -sdk iphoneos -configuration "Debug" -workspace "/Users/user/build/app_extension_demo/app_extension_demo.xcworkspace" -scheme "AppExtensionDemo" -CODE_SIGN_IDENTITY="iPhone Developer: ios developer" PROVISIONING_PROFILE=34070551-ebe8-412a-b57c-9fbdf9a42ed4 derivedDataPath "/Users/user/build/app_extension_demo/Build/Products/Debug-iphoneos" OBJROOT="/Users/user/build/app_extension_demo/Build/" SYMROOT="/Users/user/build/app_extension_demo/Build/Products" CONfigURATION_BUILD_DIR=/Users/user/build/app_extension_demo/Build/Products/Debug-iphoneos

我收到以下错误

ERROR: Code Sign error: Provisioning profile does not match bundle identifier: The provisioning profile specified in your build settings ("XC Ad Hoc: com.mycompany.AppExtensionDemo") has an AppID of "com.mycompany.AppExtensionDemo" which does not match your bundle identifier "com.mycompany.AppExtensionDemo.NumberWidget".

我正在使用appID为com.mycompany.AppExtensionDemo的配置文件(XC Ad Hoc:com.mycompany.AppExtensionDemo),但app扩展程序需要不同的AppID(com.mycompany.AppExtensionDemo.NumberWidget).通过Xcode应用程序完成所有功能.我注意到Xcode为app扩展目标自动创建了“com.mycompany.AppExtensionDemo.NumberWidget”的配置文件.但是,在通过命令行构建时,我不确定如何将应用程序扩展配置文件与应用程序扩展目标相关联.任何帮助,将不胜感激!

解决方法

所以我刚刚想出来并在这里发布了我的答案: https://stackoverflow.com/a/29605731/1153630

基本上,您可以在目标的构建设置中的Provisioning Profile字段中设置$ENVIRONMENT_VARIABLE,并从命令行分配它,而不是使用PROVISIONING_PROFILE = … – 有关更多详细信息,请查看我的其他答案.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...