iOS创建私有的远程cocoapods仓库

356 阅读2分钟

创建仓库

创建远程私有索引库和远程私有代码库

在代码托管平台分别创建仓库 (spec 和 base)

在本地的cocoapods添加本地私有索引库

pod repo add(本地私有索引库名称) (远程私有索引库地址)

本地创建一个pod私有库的模版库

在空文件夹中拉取远程代码仓库,在本地生成pod模版文件夹,根据提示选择项目选项 pod lib create (模版库名称)

  1. 将源代码copy至(项目名称)/Classes文件夹中 cd Example pod install
  2. 修改.podspec文件

注意: s.version=tag

提交本地代码

给本地版本添加他tag值 git tag '0.1.0' git push --tags

向私有索引库提交.podspec文件

  1. 验证.podspec pod lib lint pod repo lint

  2. 将本地的.podspec配置文件提交至本地的cocoapods的repo索引中,然后cocoapods会自动提交到对应的远程specs的仓库中 pod repo push ayiaSpecs ayiaBase.podspec

项目添加其他第三方库时应该要分别在项目的podfile文件中添加
source ‘远程私有索引库地址’
source ‘https://github.com/CocoaPods/Specs.git’

修改更新代码库

  1. 本地私有代码修改后需要重新修改.podspec文件 修改相应的版本号, 并添加tag值,然后提交至远程私有代码库中

  2. 向本地私有索引库提交修改后的.podspec文件 pod repo push ayiaSpecs ayiaBase.podspec

  3. 在宿主工程中更新代码库。 pod updata --no-update-repo

添加子库

在本地代码库的.podspec文件中添加子库的配置

s.subspec 'Base' do |b| b.source_files = (子库对应的相对路径地址) b.dependency = '(依赖库名称)' ~> '3.0.0' end

添加子库依赖

在本地宿主工程中的podfile文件中添加子库依赖 pod 'NFNetwork/request'pod 'NFNetwork', :subspec => ['request']

资源引用
  1. 添加图片等资源时 将资源文件放在Assets文件夹中 在.podspec文件中添加

   s.resource_bundles = {
     'ayiaBase' => ['ayiaBase/Assets/*.png']
   }

  1. 在依赖库中获取资源文件引用

NSBundle *bundle = [NSBundle bundleForClass:[self class]];
NSString *path =  [bundle pathForResource:@"文件名@2x.png" ofType:nil inDirectory:@"依赖库.bundle"];
UIImage *image = [UIImage imageWithContentsOfFile:path];
  1. 在xib等文件中引用资源 需要添加资源所在bundle的bundle名 main.bundle/home_icon.png