2018-05-15 以前写的文章:pod 创建私有索引库

▾ 可以参考文章:
使用CocoaPods创建私有Spec Repo管理项目公共组件1
使用CocoaPods创建私有Spec Repo管理项目公共组件2

▾ pod lib create FJTest1

• 选ObjC

• Yes

• None

• No

• VK

• pod lib create HJPodTestLib

• jdeMacBook-Pro:PodSpecRepo j$ pod lib create HJPodTestLib

Cloning [https://github.com/CocoaPods/pod-template.git](https://github.com/CocoaPods/pod-template.git%60) into HJPodTestLib.

Configuring HJPodTestLib template.

To get you started we need to ask a few questions, this should only take a minute.

If this is your first time we recommend running through with the guide:

( hold cmd and double click links to open in a browser. )

What language do you want to use?? [ Swift / ObjC ]

ObjC

Would you like to include a demo application with your library? [ Yes / No ]

No

Which testing frameworks will you use? [ Specta / Kiwi / None ]

None

Would you like to do view based testing? [ Yes / No ]

No

What is your class prefix?

HJ

▾ 修改FJTest1.podspec

• s.version = '1.0.0' 该值一定与tag值一样

• s.summary

• s.description 描述稍微长点

• s.homepage 对应的git仓库主页 eg:http://git.xxxxx.com/iOS/StaticLibrary/VKNetModule

• s.source 对应的git仓库地址 eg:http://Evan@git.xxxxx.com/iOS/StaticLibrary/VKNetModule.git

• s.source_files 表示通过pod install下载下来的文件存放路径 source****文件夹路径不能随便地修改,必须是对应的相对路径

• s.dependency 表示当前组件依赖的库 ,当你执行pod install会自动把依赖的库下载到本地

▾ 微信文章的配置如下:

• 4、编写podspec文件,我里面标注要修改的地方一定要修改下不要用默认的,不然第5不会出警告。

Pod::Spec.new do |s|

s.name = 'HJPodTestLib'

s.version = '0.1.0'

s.summary = 'HJPodTestLib.' #这里要修改下

s.description = <<-DESC

description of the pod here. #这里也要修改下

                   DESC

s.homepage = 'https://github.com/OldGhost366/HJPodTestLib'

s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'

s.license = { :type => 'MIT', :file => 'LICENSE' }

s.author = { 'OldGhost366' => 'oldghost007@163.com' }

s.source = { :git => 'https://github.com/OldGhost366/HJPodTestLib.git', :tag => s.version.to_s }

s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

s.ios.deployment_target = '8.0'

s.source_files = 'HJPodTestLib/Classes/*/'

end

▾ 给组件设置tag

• git tag -a 1.0.0 -m'1.0.0版本测试组件'

• 查看tag命令 git tag

▾ 第一次创建时,需要设置远端remote

• git remote 查看远程库简称 无简称不显示

• git remote -v 查看远程库url全称 ,有简称也显示,全部显示

• git remote add [shortName] [url]

▾ 或者如上面微信文章所言:

• 2、在远程git服务器创建组件仓库,并且和本地关联

git add .

git commit -s -m "Initial Commit of Library"

git remote add origin https://github.com/OldGhost366/HJPodTestLib.git

git push origin master

3、创建tag,因为podspec文件中获取Git版本控制的项目还需要tag号,所以我们要打上一个tag,这一步一定不要忘记 不然第5步就会说找不到版本。

git tag -m "第一版" 0.1.0

git push --tags

▾ 提交本地tag前先拉取。

• git pull [url简称] [分支简称] 如:git pull pb master

▾ 最好使用默认的 简称 origin 因为origin很多地方都可以省略

• git pull [分支简称]

▾ 提交到远程。

▾ 提交代码:最后一步是git push -u url简称] [分支简称] 如: git push pb master

• git add . 暂存起来

• git commit -m "add README" 提交一定要写注释,否则不让提交

• git push -u origin master

▾ 提交tag标签: git push [url简称] --tags 如:git push pb --tags

• 为了能把标签同步到远程服务器,我们可以这样做:

默认情况下,git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。

1.push单个tag,命令格式为:git push origin [tagname]

例如:

git push origin v1.0 #将本地v1.0的tag推送到远端服务器

2.push所有tag,命令格式为:git push [origin] --tags

例如:

git push --tags

git push origin --tags

▾ pod repo:查看本地repo索引库列表

• 也可以使用pod repo list命令查看

▾ 先添加我们的本地私有索引库(这是我们第一次在本地添加索引库)

• pod repo add [私有索引库名字] "索引库对应的git地址" 添加repo

• pod repo remove xxx 删除 我们自己的索引库

• # pod repo add [Private Repo Name] [Your GitHub HTTPS clone URL]

$ pod repo add HJSpecs https://github.com/OldGhost366/HJSpecs.git

• 上面这句话的微信文章写得有误

• 删除本地索引库:pod repo remove VKHouseModule

▾ 回归本地的组件库:执行代码检查

▾ pod spec lint 远端检查spec文件是否合法,是否符合加入索引库的逻辑标准

• 微信文章所言:5、验证 pod lib lint,ERROR和WARMING都不能有,不然不能提交。

jdeMacBook-Pro:HJPodTestLib j$ pod lib lint

-> HJPodTestLib (0.1.0)

HJPodTestLib passed validation.

▾ 关键一步,提交我的podspec到我们的私有索引库

pod repo push VKSpecs FJTest1.podspec

• 6、提交podspec到私有spec repo

这个时候需要,必须前面验证通过,不然提交会失败,因为提交过程先会进行验证。

执行下面命令后CocoasPod自动会将podspec到本地和远程spec repo Git仓库。我们这时候可以在Git远程仓库可以看到这个podspec文件了。

pod repo push HJSpecs HJPodTestLib.podspec()

▾ 集成测试:

• pod search HJPodTestLib

-> HJPodTestLib (0.1.0)

HJPodTestLib.

pod 'HJPodTestLib', '~> 0.1.0'

(END)

• 如果找不到时,可以清除一下索引库缓存 rm -rf ~/Library/Caches/CocoaPods/search_index.json

• 搜索到了之后,按q可以退出

▾ 如果需要删除这条索引,可以在远端网址上删除对应文件夹下的podspec。然后本地pod repo update VKSpeces_iOS(索引库名称)

• 2、创建项目测试

pod init

然后我们编辑Podfile文件

target 'PodTest' do

platform :ios, '8.0'

pod 'HJPodTestLib', '~> 0.1.0'

pod 'AFNetworking'

end

执行pod install

[!] Unable to find a specification for HJPodTestLib

▾ 测试失败为什么?

• 最终解决办法在Podfile里面增加source指定,两个都要添加

增加下面两个source这样pod install就不会出问题了

source 'https://github.com/OldGhost366/HJSpecs.git'

source 'https://github.com/CocoaPods/Specs.git'

target 'PodTest' do

platform :ios, '8.0'

pod 'HJPodTestLib', '~> 0.1.0'

pod 'AFNetworking'

end

▾ 其他命令

• Control C 取消执行当前命令

• pwd 查看当前路径

• cd .. 回到上一级路径

• open /. 打开file的文件夹

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

推荐阅读更多精彩内容