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

如何在Xcode归档及Xcode Cloud CI/CD中配置不同API端点(无需改常量文件)

解决方案:Xcode及Xcode Cloud中无修改切换API端点

下面是几种不用改常量文件就能切换.app、.cloud、.com三个API端点的方案,适配本地归档和Xcode Cloud CI/CD流程:

方法1:Xcode配置+Info.plist占位符

  • 给项目新增三个自定义配置:比如Release-App、Release-Cloud、Release-Com,分别对应三个端点环境
  • 打开Info.plist,添加APIEndpoint字段,值填$(API_ENDPOINT)
  • 进入项目Build Settings,搜索Preprocessor Macros,给每个配置设置对应宏:
    • Release-App:API_ENDPOINT=@"https://api.example.app"
    • Release-Cloud:API_ENDPOINT=@"https://api.example.cloud"
    • Release-Com:API_ENDPOINT=@"https://api.example.com"
  • 代码中直接读取Info.plist字段或使用宏:
    // 读取Info.plist方式
    let apiEndpoint = Bundle.main.infoDictionary?["APIEndpoint"] as! String
    // 或直接用宏
    // let apiEndpoint = API_ENDPOINT
    
  • Xcode Cloud工作流选择对应配置构建,本地归档时也选对应配置,全程无需修改代码。

方法2:Xcode Cloud环境变量+构建脚本

  • 在Xcode Cloud工作流设置中,添加环境变量API_ENDPOINT,不同工作流设置不同的端点值
  • 给项目新增Run Script构建阶段,脚本内容如下:
    PLIST_PATH="${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"
    /usr/libexec/PlistBuddy -c "Set :APIEndpoint $API_ENDPOINT" "$PLIST_PATH"
    
  • 代码中读取Info.plist的APIEndpoint字段即可。Xcode Cloud运行不同工作流时,环境变量会自动替换端点,本地归档也可手动设置环境变量切换。

方法3:多Scheme绑定不同配置

  • 创建三个Scheme:AppEndpoint、CloudEndpoint、ComEndpoint,每个Scheme对应一个Build Configuration(比如AppEndpoint绑定Release-App)
  • 每个配置的Preprocessor Macros设置对应端点宏,代码中直接使用宏定义的端点
  • Xcode Cloud选择对应Scheme构建,本地归档时选对应Scheme即可,无需改动常量文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:18:22