[关闭]
@xifenglang-33250 2019-01-08T16:45:29.000000Z 字数 1801 阅读 5938

创建私有CocoaPods组件库

组件开发笔记


1. 在Github上创建私有repository(可以附带MIT License和 README)

2. Clone到本地

3. 提交到本地的Pods库(比如TSWLitteryUtils)

  1. pod repo add TSWLitteryUtils https://github.com/eluxe/TSWLitteryUtils.git

4. 创建src和demo目录,创建.podspec文件

  • 不要创建跟私有库名称相同的目录,这个目录留给pod创建,以免冲突覆盖,代码源文件存放在src目录中
  • 使用pod spec create TSWLitteryUtils创建 TSWLitteryUtils.podspec

5. 编辑.podspec文件

  1. s.name = "TSWLitteryUtils"
  2. s.version = "1.0.0"
  3. s.summary = "态奢网iOS项目工具类集合"
  4. s.homepage = "https://github.com/eluxe/TSWLitteryUtils"
  5. s.license = "MIT"
  6. s.author = { "XiFengLang" => "lang131jp@vip.qq.com" }
  7. s.source = { :git => "https://github.com/eluxe/TSWLitteryUtils.git", :tag => "#{s.version}" }
  8. s.platform = :ios,"9.0"
  9. s.framework = "UIKit"
  10. s.requires_arc = true
  11. s.source_files = "src/*.{h,m}"
  12. s.dependency 'TSWCategories', '~> 1.0.1'

6. 验证配置

pod lib lint是只从本地验证你的pod能否通过验证
pod spec lint是从本地和远程验证你的pod能否通过验证

  • pod lib lint --private 在没有依赖第三方Pod库时使用
  • 依赖第三方私有库时,pod lib lint --allow-warnings --sources='https://github.com/CocoaPods/Specs.git,https://github.com/eluxe/TSWCategories.git'

7. git 打标签、push

  • git add -A && git commit -m "Release 1.0.0"
  • git tag 1.0.0
  • git push origin --tags

8.将描述文件推送到版本库

  • pod repo push TSWLitteryUtils TSWLitteryUtils.podspec
  • 发布成功后,在项目的跟目录创建一个跟库名相同的目录,里面会有版本号命名的目录

8.1 [!] Found multiple specifications for '*'

如果出现[!] Found multiple specifications forAFNetworking (3.1.0):出现,需要检查指定依赖的第三方 source的git地址。比如AFNetworking (3.1.0) source 'https://github.com/cocoapods/specs.git',但是AFNetworking (3.2.1) source 'https://github.com/CocoaPods/Specs.git'。所以要用下面的指令发布

  1. pod repo push TSWNetworking TSWNetworking.podspec --allow-warnings --sources='https://github.com/CocoaPods/Specs.git'

9. 接入私有库

  1. source https://github.com/eluxe/TSWLitteryUtils.git’
  2. pod 'TSWLitteryUtils', '~> 1.0.0'

10. Git地址更换

  1. 修改本地仓库.git中的config文件,不然push git会出错
  2. 修改.podspec 中的s.source
  3. cd ~/.cocoapods/repos 找到相应的仓库,修改.git中的config文件,不然push rep会报错
  4. 在引用私有库的工程中修改Podfile文件,即修改依赖的git地址,source 'https://****

参考

Cocoapods使用私有库中遇到的坑
CocoaPods 私有仓库的创建

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注