Col*_*lay 5 xcode conditional-compilation xcodebuild ios-app-extension fastlane
我正在开始开发 2 个应用程序扩展,我想按如下方式设置我的构建:
目前,我对每个项目都有不同的构建配置,以显示和隐藏应用程序的其他方面(在某些情况下也包括编译器标志)。我使用 fastlane 来进行构建。
据我所知,添加或删除应用程序扩展的唯一方法是:
有人能想出更好的解决方案来有条件地包含应用程序扩展吗?
这可以通过向主要目标添加运行脚本构建阶段来完成。
\n添加此脚本并将配置名称替换为您自己的构建配置名称,并将扩展名替换为您想要为每个配置包含的扩展名:
\nfunction embedExtensions() {\n for extension in $1\n do\n rsync -r --copy-links "${CONFIGURATION_BUILD_DIR}/${extension}.appex" "${CONFIGURATION_BUILD_DIR}/${PLUGINS_FOLDER_PATH}"\n done\n}\n\ndebug_extensions=("PacketTunnelProvider WidgetExtension ShareExtension")\nbeta_extensions=("PacketTunnelProvider WidgetExtension")\n\nif [ "${CONFIGURATION}" = "Debug" ]\nthen\n embedExtensions $debug_extensions\nelif [ "${CONFIGURATION}" = "Beta" ]\nthen\n embedExtensions $beta_extensions\nfi\nRun Code Online (Sandbox Code Playgroud)\n我通过查看使用 Xcode 内部工具的 Xcode\xe2\x80\x99s Embed App Extensions Build Phase 的构建输出发现了这一点builtin-copy。但rsync达到相同的结果并具有大致相同的选项。--copy-links需要该选项来解析符号链接.appex包。
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |