创建仓库
创建远程私有索引库和远程私有代码库
在代码托管平台分别创建仓库 (spec 和 base)
在本地的cocoapods添加本地私有索引库
pod repo add(本地私有索引库名称) (远程私有索引库地址)
本地创建一个pod私有库的模版库
在空文件夹中拉取远程代码仓库,在本地生成pod模版文件夹,根据提示选择项目选项
pod lib create (模版库名称)
- 将源代码copy至
(项目名称)/Classes文件夹中cd Examplepod install - 修改.podspec文件
注意: s.version=tag
提交本地代码
给本地版本添加他tag值
git tag '0.1.0'
git push --tags
向私有索引库提交.podspec文件
-
验证.podspec
pod lib lintpod repo lint -
将本地的.podspec配置文件提交至本地的cocoapods的repo索引中,然后cocoapods会自动提交到对应的远程specs的仓库中
pod repo push ayiaSpecs ayiaBase.podspec
项目添加其他第三方库时应该要分别在项目的podfile文件中添加
source ‘远程私有索引库地址’
source ‘https://github.com/CocoaPods/Specs.git’
修改更新代码库
-
本地私有代码修改后需要重新修改.podspec文件 修改相应的版本号, 并添加tag值,然后提交至远程私有代码库中
-
向本地私有索引库提交修改后的.podspec文件
pod repo push ayiaSpecs ayiaBase.podspec -
在宿主工程中更新代码库。
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']
资源引用
- 添加图片等资源时 将资源文件放在Assets文件夹中 在.podspec文件中添加
s.resource_bundles = {
'ayiaBase' => ['ayiaBase/Assets/*.png']
}
- 在依赖库中获取资源文件引用
NSBundle *bundle = [NSBundle bundleForClass:[self class]];
NSString *path = [bundle pathForResource:@"文件名@2x.png" ofType:nil inDirectory:@"依赖库.bundle"];
UIImage *image = [UIImage imageWithContentsOfFile:path];
- 在xib等文件中引用资源 需要添加资源所在bundle的bundle名
main.bundle/home_icon.png