pod 私有库的制作

声明: 该文章描述,将制作好的 framework ,打包成pod 私有库

创建私有库模板

pod lib create MyLIbName

根据创建的提示,选择库的基本配置信息


WeChatcdf8a1a48343d96065fe7943dc78bc9b.png

远端创建私有仓库

1 远端通过新建仓库创建一个私有仓库
2 将本地仓库和远端仓库做关联
git remote add origin https://xxxxx/MyLibName.git
拉取远端仓库
git pull origin master --allow-unrelated-histories
提交远端
git push -u origin master
提交文件

git add
git commit -m "提交信息"
 ```

注:后续的拉取和提交等操作可以通过git的可视化工具操作包括标签的提交等信息
提交标签

git tag -a '版本号' -m '提交信息'
git push --tags

远端创建索引库

将远端索引库添加到本地

pod repo add MyPodSpecs https://xxxxxx/MyPodSpecs.git

现在通过执行 pod repo 可以查看当前pod 下的源是否已经添加成功

编写库的基本信息

Pod::Spec.new do |s|
 s.name             = '库名称'
 s.version          = '版本号'
 s.summary          = '描述'

# This description is used to generate tags and improve search results.
#   * Think: What does it do? Why did you write it? What is the focus?
#   * Try to keep it short, snappy and to the point.
#   * Write the description between the DESC delimiters below.
#   * Finally, don't worry about the indent, CocoaPods strips it!

 s.description      = <<-DESC
TODO: Add long description of the pod here.
                      DESC

 s.homepage         = 'https://xxxxx'
 # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
 s.license          = { :type => 'MIT', :file => 'LICENSE' }
 s.author           = { 'tiantian' => 'lifeng@playdayy.com.com' }
 s.source           = { :git => 'https://xxxx.git', :tag => s.version.to_s }
 # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
 #  系统支持的最低版本
 s.ios.deployment_target = '10.0'
#   由于项目库是通过导入的framework 形式集成的,所以在这个位置填写上,多个库之间用 “,” 隔开
 s.vendored_frameworks = 'xx/Classes/xx.framework','xx/Classes/xxx.framework'
#    如果项目是通过源码形式导入,采用下边的方式,
 # s.source_files = 'xx/Classes/**/*'
#    依赖的系统库
 s.frameworks = 'UIKit','Foundation','AdSupport'
#    依赖的系统library
 s.libraries = 'c++','bz2','c++abi','resolv.9','sqlite3.0','sqlite3','xml2.2','xml2'
#    bundle 资源文件,以下这种写法,bundle 不会主动添加的 mainBundle 中
 s.resource_bundles = {
   'xx' => ['xx/Assets/*.{xib,png,xcassets,nib,bundle,csv,lproj}']
 }
#    依赖的三方库
 s.dependency  'AFNetworking', '~> 4.0.1'

 # s.public_header_files = 'Pod/Classes/**/*.h'

end

将组件库和索引库关联

1 回到组件库的项目目录下
2 执行 pod repo push<索引库名称><私有库名称>
eg:

pod repo push MyPodSpecs MyLIbName --verbose --use-libraries --allow-warnings

eg2:

pod repo push 'MyPodSpecs' 'MyLIbName.podspec' --sources='https://gitlab.playnexx.net/PluginsRepo/pluginlibspecs.git,https://cdn.cocoapods.org/' --verbose --allow-warnings --use-libraries  --skip-import-validation

截止到目前,私有库的制作已经完成,可以通过项目接入去验证 , 在关联库和repo时,根据需求选择 source,source可以是多个,通过 "," 分割

注意

1 添加source源
source 'https://xxxxx/MyPodSpecs.git'
2 一旦我们提交了,通过pod 可以下载到我们自己的私有库,假如这时我们需要修改一部分文件重新提交,重新打tag,然后我们重新拉取,发现会拉取不到最新的节点的库,而且能通过 pod lib lint --allow-warnings,通过远端查看代码和版本号一致,spec 下的podspec 文件也是修改好正确的,通过 pod install --verbose --no-repo-update命令去安装库,通过安装信息我们可以查看到

Fetching external sources
-> Pre-downloading: `xx` from `xxxxxxxxxxxxxxxx/xx-xl.git`, tag `1.0.0`
  > Copying xx from `/Library/Caches/CocoaPods/Pods/External/xx...` to `Pods/xx`

上述可以查看到,并没有去远端重新下载,而是copy本地的库,所以,我们需要根据上边的提示删除掉缓存,删除删除~/Library/Caches/CocoaPods/Pods/External/xx中的所有文件

参考: https://www.jianshu.com/p/96e0f25260ac
常见问题参考:https://www.jianshu.com/p/1e83969bb5a1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容