CocoaPods创建私有库

[otc]

概念逻辑梳理

  • 创建私有库过程中,涉及的仓库 分为 远程代码仓库远程podspec仓库地址, 本地代码仓库本地 podspec仓库.
  • 实现逻辑步骤
    1. 先创建远程的podspec仓库(如已经有podspec库,忽略这一步)
    2. 本地创建私有库代码仓库(pod lib create), 添加代码文件与资源文件
    3. 创建存放私有库代码文件的远程代码仓库地址,并将本地code仓库地址关联到远程代码仓库地址
    4. 修改podspec文件配置,设置好源码仓库地址,并给源码添加对应的tag推送到远程代码仓库(如果是版本号由tag控制的情况下)
    5. 验证库是否可用,推送到远程podspec仓库. pod repo push 命令将代码库中的podspec文件推送到本地以及远程的podspec仓库,完成.
      在第4、5步完成 podspec仓库与代码仓库的关联.

创建Spec Repos

  1. 创建远程私有仓库
    前往代码托管服务平台创建私有仓库
    2.关联远程仓库(如本地没有,则本地创建私有仓库)
pod repo add [私有库] [远程库 url]

本地私有仓库默认地址:~/.cocoapods/repos/, cocoapods库索引文件存放在这里.

创建本地私有库项目工程

pod lib create [私有库]

按提示回答即可
将准备好的私有库文件替换replaceme.m文件
在Example中,执行

pod install

检查是否能正常引入到Example中

本地project关联到远程代码仓库

git add .
git commit -m "first commit"
git remote add origin [远程仓库地址]
git push -u origin master

配置podSpec文件

  • s.homepage 库说明的地址,如无单独设置的,可以设置为远程代码仓库地址,展示Readme
  • s.source 代码存放的仓库地址
  • s.source_files 设置类文件路径,建议默认的,在Classes路径下
s.source_files = '**/Classes/**/*'
  • s.resource_bundles 资源文件路径 建议用bundle(一个路径) / bundles(多个路径,数组), key值建议用 私有库名称, 后面引用该库创建的bundle名也会以 [私有库名].bundle 命名, 名称统一便于使用
  s.resource_bundles = {
      '[私有库名称]' => ['**/Assets/*', '**/Plist/*']
  }

检测库是否能使用

如果未依赖其他私有的库

pod lib lint

如有依赖其他私有库,使用下面命令,

pod lib lint LSSleepMusicModule.podspec --verbose --sources=[远程podspec地址],master --allow-warnings
或
pod spec lint --allow-warnings --verbose --source=[远程podspec仓库地址1],[远程podspec仓库地址2]

提交podspec文件

pod repo push [本地podspec库名] [私有库名称].podspec --allow-warnings --verbose

默认的podspec文件配置的是版本号,由tag值指定.
pod repo push前需要先将对应版本号的tag打好并推送到远程代码仓库.


https://www.jianshu.com/p/687ed6dd9dce

https://juejin.im/post/5b82ca46518825430d26bc09

你可能感兴趣的:(CocoaPods创建私有库)