You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置指定SPM库仅在特定构建配置下嵌入 实现自动化提审

解决方案

优先推荐原生配置方案,无需额外脚本,一次配置永久生效:

方案1:Xcode Target直接指定库的生效配置

  • 打开对应Target的设置页面,进入Frameworks, Libraries, and Embedded Content栏目
  • 找到RxTest等仅需在Debug下使用的库,点击右侧的Status/Embed列下拉选项
  • 选择仅勾选Debug配置,取消Release等生产构建配置的勾选即可

如果你的项目是通过Package.swift声明SPM依赖,可直接在依赖配置中加条件限制:

.target(
    name: "你的主业务目标名",
    dependencies: [
        // 仅Debug配置下引入RxTest
        .product(name: "RxTest", package: "RxSwift", condition: .when(configuration: .debug))
    ]
)

方案2:构建阶段脚本自动移除

如果项目结构特殊无法用上述原生配置,可通过末尾构建脚本实现自动移除:

  • 进入Target的Build Phases页面,点击左上角+号新增Run Script Phase,将该阶段拖拽到所有构建阶段的最末尾
  • 填入以下脚本,按需修改要排除的库名列表即可:
# 配置需要从Release包中排除的库
EXCLUDED_LIBRARIES=("RxTest" "RxBlocking")

if [ "${CONFIGURATION}" = "Release" ]; then
    for LIB_NAME in "${EXCLUDED_LIBRARIES[@]}"; do
        # 移除动态库
        rm -rf "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/${LIB_NAME}.framework"
        # 移除静态库
        rm -f "${BUILT_PRODUCTS_DIR}/lib${LIB_NAME}.a"
    done
fi

两种方案都可以完全避免手动修改配置的操作,适配CI/CD自动化上传流程。

内容的提问来源于stack exchange,提问作者peakingcube

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 04:15:02