通过命令行构建 iOS 应用扩展
Posted
技术标签:
【中文标题】通过命令行构建 iOS 应用扩展【英文标题】:Build iOS App Extension through command line 【发布时间】:2014-11-18 18:20:28 【问题描述】:我正在尝试从命令行构建一个包含应用扩展的 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 自动为应用扩展目标创建了“com.mycompany.AppExtensionDemo.NumberWidget”的配置文件。但是,通过命令行构建时,我不确定如何将应用扩展配置文件关联到应用扩展目标。任何帮助将不胜感激!
【问题讨论】:
同样的问题。但我发现可以通过命令行“today widget”单独构建。可能构建主项目并告诉“xcodebuild”不要辞职扩展? 嗨,Sergey,您能否更具体地谈谈您是如何分别构建“今日小部件”的? 确定只使用了一个 xcodebuild 命令并放置了目标 TODAYWIDGET(你看到它是 proj 的目标吗?)。谢谢, 我找不到一种方法来完全按照您想要实现的目标,所以我在 Xcode 中设置了配置文件,然后在没有配置配置文件参数的情况下构建它 @ReyGonzales 是的,我使用相同的方式。没有找到另一个。谢谢, 【参考方案1】:所以我刚刚想通了这一点并在此处发布了我的答案:https://***.com/a/29605731/1153630
基本上,您可以在目标的 Build Settings 中的 Provisioning Profile 字段中设置 $ENVIRONMENT_VARIABLE
并从命令行分配它,而不是使用 PROVISIONING_PROFILE=...
- 看看我的其他答案更详细。
【讨论】:
以上是关于通过命令行构建 iOS 应用扩展的主要内容,如果未能解决你的问题,请参考以下文章