iOS-组件私有库分模块上传/导入

背景

一个组件私有库可以包含多个模块的子组件,子组件里可能也会需要区分加载不同的资源文件,发布后,通过pod导入时值导入自己所需要的文件,多余文件不应该导入进来

实现方案

修改xxx.podspec中的配置参数
xxx.podspec文件内容:

Pod::Spec.new do |s|
  s.name             = 'JumpRopeModule'
  s.version          = '1.0.0-beta.3'
  .../// 其他字段根据实际项目填写

  s.ios.deployment_target = '11.0'
    s.swift_versions = '5.0'
    
    /// 导入该组件库所有的文件
#  s.source_files = 'JumpRopeModule/Classes/JumpRope/**/*'

    /// 导入该组件库所有的资源文件等  
#  s.resource_bundles = {
#    'JumpRopeModule' => ['JumpRopeModule/Assets/Resource/*']
#  }
  
  /// 使用subspec,定义区分模块,只导入需要导入的文件
  s.subspec 'Oversea' do |os|
      os.source_files = 'JumpRopeModule/Classes/JumpRope/**/*'
      os.resource_bundles = {
          'JumpRopeModule' => ['JumpRopeModule/Assets/OverseaResource/*']
      }
  end
  
  s.subspec 'Qingniu' do |qn|
      qn.source_files = 'JumpRopeModule/Classes/JumpRope/**/*'
      qn.resource_bundles = {
          'JumpRopeModule' => ['JumpRopeModule/Assets/QingniuResource/*']
      }
  end
  
  /// 导入系统模块,和依赖其他第三方库
  s.frameworks = ''
  s.dependency ''
end

使用subspec参数,定义区分导入的模块文件,只需导入需要导入的文件
在外部工程使用时,也对应使用:subspecs参数,传入支持的参数,就对应导入指定的文件
iOS-组件私有库分模块上传/导入_第1张图片

你可能感兴趣的:(ios,swift,开发语言)