远程私有库笔记

制作一个远程私有库主要设计两个模块, 第一个是自己的模块壳工程,另一个就是存放组件版本号远程私有索引库了。

这里都采用GitHub作为管理平台, 我们在GitHub上面创建了两个repositories仓库, 一个是我们存放项目工程的仓库叫PTLDemo,一个是我们存放索引库的仓库名字叫PTLTestSpec

一、创建工程项目

仓库创建完后,我们利用CocoaPods来创建一个模板工程,进入自己存放工程的目录下,在终端执行下面命令:

pod lib create PTLDemo

执行上面命令后,一个模板工程就这样创建好了,见下面“模板工程”图


模板工程

工程创建好后,我们就开发自己的组件,在Example例子工程调试测试,这里就忽略流程。
一切就绪后我们就编写模板工程里面的PTLDemo.podspec文件


Pod::Spec.new do |s|
  s.name             = 'PTLDemo'
  s.version          = '0.1.1'
  s.summary          = 'A short description of PTLDemo.'

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

  s.homepage         = 'https://github.com/ptlcoder/PTLDemo'
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  s.author           = { 'ptlcoder' => 'tanglong.peng@jyblife.com' }
  s.source           = { :git => 'git@github.com:ptlCoder/PTLDemo.git', :tag => s.version.to_s }
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

  s.ios.deployment_target = '9.0'

  s.source_files = 'PTLDemo/Classes/**/*'
  
  # s.resource_bundles = {
  #   'PTLDemo' => ['PTLDemo/Assets/*.png']
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  # s.dependency 'AFNetworking', '~> 2.3'
end

按照上面的格式,我们填写好相关信息, 最主要是下面三个元素,不能搞错。

s.version  // 此次版本号,要和当前工程需要提交的tag保持一致
s.homepage // 工程项目的GitHub地址栏地址
s.source // 仓库的下载地址

填写好索引文件后,我们做一个校验处理

本地校验
pod lib lint --allow-warnings --no-clean
远程校验
pod spec lint --allow-warnings

没问题就把代码提交到创建好的GitHub仓库上面。然后打上相应的tag提交。

打tag的相关步骤

打本地tag
git tag 0.1.1  //0.11版本号和索引库版本保持一致
git tag -a v1.0 -m “这里是tag备注信息“  //-m可以带上备注
将本地tag同步到远程服务器
git push origin 1.0 //某个tag
git push origin --tags // 所有
删除本地tag:git tag -d 0.1.2
删除远程tag:git push origin :refs/tags/0.1.2

工程的步骤就完成到这里,另外我们就要创建索引库了。

二、创建远程索引库

1、创建本地私有索引库

pod repo add PTLTestSpec https://github.com/ptlCoder/PTLTestSpec.git

执行上面命令就会把GitHub上面的索引仓库clone下来存放在系统.cocoaPods repos目录下,PTLTestSpec是本地索引库的名字和GitHub仓库名保持一致

2、将私有库组件中的.podspec文件更新到本地私有索引库并同步更新到远程索引仓库

pod repo push PTLTestSpec PTLDemo.podspec --allow-warnings
PTLTestSpec 本地索引库名
PTLDemo.podspec 需要更新的索引库
--use-libraries 库里面包含了静态库
--allow-warnings 忽略警告

上面的命令做了两件事。第一,更新到本地私有索引库,第二,同步更新到远程索引仓库。


// 正常情况终端日志:
Updating the `PTLTestSpec' repo
Adding the spec to the `PTLTestSpec' repo
 - [Update] PTLDemo (0.1.1)
Pushing the `PTLTestSpec' repo
// 报错:
Updating the `PTLTestSpec' repo
[!] /usr/bin/git -C /Users/ptlcoder/.cocoapods/repos/PTLTestSpec pull
Your configuration specifies to merge with the ref 'refs/heads/master'

可能的坑:如果是一个全新的索引库在第一次更新仓库的时候可能会出现这种报错,解决办法是在本地的索引库中随便添加一个空文件然后上传到远程去, 再来执行上面的pod repo push命令。成功后再把新建的空文件删了。

其他:

pod cache clean --all
查看sdk支持的系统架构
lipo -info 模拟器sdk路径

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

推荐阅读更多精彩内容