通过命令行构建iOS App Extension

时间:2014-11-18 18:20:29

标签: ios

我正在尝试从命令行构建包含应用扩展程序的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 ),但应用扩展程序正在等待另一个AppID( com.mycompany.AppExtensionDemo.NumberWidget )。通过Xcode应用程序完成所有功能。我注意到Xcode为app扩展目标自动创建了“com.mycompany.AppExtensionDemo.NumberWidget”的配置文件。但是,在通过命令行构建时,我不确定如何将应用程序扩展配置文件与应用程序扩展目标相关联。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

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

基本上,您可以在目标的构建设置中的“配置资料”字段中设置$ENVIRONMENT_VARIABLE,并从命令行分配,而不是使用PROVISIONING_PROFILE=... - 看看我的其他答案,了解更多细节。