以前写了篇 CocoaPods建立私有仓库 spec repo 总感觉有些凌乱。现在整理下。
1.用处
有的企业好多项目里会用到相同的功能模块,但是这些又不希望被别人通用使用;要是多个项目 代码考来考去的又不便于维护,这个时候用私有Cocoapods 库 最实用了。
2.建git 项目
如
https://github.com/lizhi0123/NSDictionaryArray_utf8Description
在建项目的时候 选择MIT证书,因为在建.podspec文件时需要配置 证书。(如下图)
3.给项目建个tag
4.建.podspec 文件
准备好你的项目文件,实现你功能。
通过命令
$ pod spec create NSDictionaryArray_utf8Description
创建你的 .podspec 文件。其中 NSDictionaryArray_utf8Description 是pod spec 里的 名称。要替换成你的项目的 pod spec 名称。
然后 你的项目文件里 就会多个 NSDictionaryArray_utf8Description.podspec
文件。
5 配置你的.podspec
# `pod spec create NSDictionaryArray_utf8Description` 建 NSDictionaryArray_utf8Description.podspec 文件。
# Be sure to run `pod spec lint NSDictionaryArray_utf8Description.podspec' to ensure this is a
Pod::Spec.new do |s|
s.name = "NSDictionaryArray_utf8Description"
s.version = "1.0"
s.summary = "NSDictionary, NSArray UTF8中文 log 输出."
s.description = <<-DESC
NSDictionary, NSArray UTF8中文 log 输出。只支持基本类型。
DESC
s.homepage = "https://github.com/lizhi0123/NSDictionaryArray_utf8Description"
s.license = "MIT"
s.author = { "Sunny" => "zhang_zhi_li@163.com" }
s.platform = :ios, "5.0"
s.source = { :git => "https://github.com/lizhi0123/NSDictionaryArray_utf8Description.git", :tag => "#{s.version}" }
s.source_files = "Classes", "Classes/**/*.{h,m}"
s.exclude_files = "Classes/Exclude"
end
6 验证你的 .podSpec
通过代码
pod spec lint NSDictionaryArray_utf8Description.podspec
验证你的配置。
出现绿色文字 NSDictionaryArray_utf8Description.podspec passed validation.
说明验证通过。
7 添加你的.podSec 到你的repo
通过命令查看你的repo
pod repo list
其中 “Specs-Repo” 是我自己建的库。怎么建库我有空的时候,另外写一篇文章,现在暂且不讲述。
通过命令添加 你的.podSec 到你的私有 repo
pod repo push Specs-Repo NSDictionaryArray_utf8Description.podspec --allow-warnings
其中 Specs-Repo 是 repo 名称,换成你自己的repo.NSDictionaryArray_utf8Description.podspec 也换成你自己的。
此处已经完全建成你自己的Cocoapods 私有库了。
使用
只需在podfile 里添加 souce 就行。
source 'https://github.com/lizhi0123/Specs-Repo.git'
source 'https://github.com/CocoaPods/Specs.git'
其中
https://github.com/lizhi0123/Specs-Repo.git 是我自己私有库位置。
https://github.com/CocoaPods/Specs.git 是公共库位置。
注: 添加私有库时,公共库必须添加source中。否则公有库 不能用。
原文地址:https://www.jianshu.com/p/cc7404997fc5
s.source_files = "Classes/**/*.{h,m}"
s.exclude_files = "Classes/Exclude"
s.resource_bundles = {
'QKChineseVerifyCodeFramework' => ['Classes/**/*.{storyboard,xib,xcassets,json,imageset,png}']
}
谢谢 ,请点赞,手动码字 不容易。