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

如何用私有Git仓库托管.framework SDK供CocoaPods与React Native模块调用?

解决私有Framework的CocoaPods按需引入问题

一、补全私有SDK仓库的podspec配置

你当前的xSDK.podspec缺少关键的source字段,CocoaPods无法定位仓库代码位置,必须补上。另外建议把.framework放到统一目录(比如Frameworks/)避免路径混乱,修改后的podspec如下:

Pod::Spec.new do |s|  
    s.name              = 'xSDK'
    s.version           = '0.0.1'
    s.summary           = 'x SDK'
    s.homepage          = 'https://www.google.com'

    s.author            = { 'Sample' => 'sample@sample.com' }
    s.license = { :type => "MIT", :text => "MIT License" }

    s.platform          = :ios
    s.ios.deployment_target = '13.0'
    # 将x.framework放入Frameworks目录,路径对应修改
    s.ios.vendored_frameworks = 'Frameworks/x.framework'
    # 补上仓库地址,指定分支(推荐打版本tag,稳定性更高)
    s.source = { :git => 'https://git.x.org/x/cocoapods.git', :branch => 'TEST' }
    # 若使用tag版本,替换为::tag => "#{s.version}"(需在仓库打对应版本tag)
end 

二、修正React Native模块podspec的依赖写法

你当前的dependency写法错误,不能使用浏览器路径/-/tree/TEST,需直接用仓库git地址并指定分支或tag,修改后的依赖部分如下:

# 指定分支的写法
s.dependency 'xSDK', :git => 'https://git.x.org/x/cocoapods.git', :branch => 'TEST'
# 若用tag版本,更推荐(稳定性更高):
# s.dependency 'xSDK', :git => 'https://git.x.org/x/cocoapods.git', :tag => '0.0.1'

三、多私有Framework的集中管理方案

后续新增更多.framework时,推荐在同一个私有Git仓库内按以下方式组织:

  • 每个SDK对应独立的podspec文件(比如ySDK.podspec、zSDK.podspec)
  • 所有.framework统一放在Frameworks/目录下,每个podspec指定对应路径(比如s.ios.vendored_frameworks = 'Frameworks/y.framework')
  • 各RN模块按需引入对应SDK依赖,比如需要ySDK就添加s.dependency 'ySDK', :git => '仓库地址', :branch => 'TEST'

额外注意事项

  1. 验证podspec有效性:在私有仓库目录执行pod spec lint xSDK.podspec --verbose,确保无报错
  2. 若不想每次依赖都写git地址,可搭建私有CocoaPods源:将所有podspec推送到私有源,在项目Podfile添加私有源地址后,直接用s.dependency 'xSDK', '0.0.1'即可引入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:50:21