Pod 私有库创建(自定义的组件)

3篇文章带你学会组件化😁😁😁
1.iOS 创建远程cocoapods 私有库
2.iOS Pod 私有库创建(自定义的组件)
3.iOS CTMediator组件化实践

其实就是创建一个组件, 放到GitHub 上, 别人直接pod 过去就能用, 而不是像原来一样把上传的文件下载然后拉取到项目中...

demo组件地址

步骤导览

1. 先在Git上创建远程私有库

和自己平时创建仓库一模一样
创建远程私有库

2. 创建本地项目

  1. 进入终端,cd到目标目录下, 便于管理, 最好将你一个项目的使用到的所有组件放到同一文件夹下, 例如demo文件夹
    cd到目标目录
  1. 在demo 目录下创建组件CustomUIKit
    格式: pod lib create xxx
pod lib create CustomUIKit

将会经过如下一系列询问
lib create 操作后的询问

以上步骤完成后,将会自动打开XCode项目.

可以通过 tree 指令或者打开文件夹看下创建的本地仓库的目录结构

目录结构

3. 修改xxx.podspec 文件

下面是一些注释, 根据实际情况增加或者减少即可.

Pod::Spec.new do |s|
  s.name         = "A_section"

  #发版版本号,每更新一次代码就改变一次版本号
  s.version      = "0.0.1"

  #一个简单的总结,随便写
  s.summary      = "A short description of A_section." 

  #一定要写上,不写的话,执行 pod lib lint 验证项目的时候会报找不到 UIKIT 等框架错误
  s.platform = :ios, "8.0"

  #描述,随便写 但是要比 s.summary 长度长
  s.description  = <<-DESC
   short description of A_section short description of A_section
                   DESC

  #你的 git 仓库首页的网页 url,注意并不是 https/ssh这种代码仓库地址
  s.homepage     = "https://coding.net/u/xxxx/p/A_section"
   
  #直接写 MIT
  s.license      = "MIT"
  
  #你是谁
  s.author             = { "" => "" }
  
  #这里就是你 git 仓库的 https/ssh 地址了
  s.source       = { :git => "https://git.coding.net/xxxx/A_section.git", :tag => "#{s.version}" }

  #这里的文件夹下的内容就是这个 pods 被pod install 的时候会被下载下来的文件,不在这个文件夹,将不会被引用
  # Classes 目录和.podspec 目录是平级的。
  #你可以随便指定文件夹名称,只要这个文件夹是真实存在的
  #Classes/**/*.{h,m},表示 Classes 文件夹及其文件夹下的所有.h,.m 文件。
  s.source_files  =  "A_section/Classes/**/*.{h,m}"

  #资源文件地址,下面的所有.png资源都被打包成 s.name.bundle
  s.resource = ['Images/*.png','Sounds/*']

  #资源文件地址,和 resource 的区别是,这个属性可以指定 bundle 的名字,下面的所有.png文件都会被打包成 ABC_section.bundle
  s.resource_bundle = {
  'ABC_section' => ['Classes/ABCImage/*png']

  }

  #指定公有头文件,如果没有写,那么所有 pod 中的头文件都默认公有,可以被 import。如果指定了某些头文件,那么只有这些被指定的头文件才可以被 import。
  s.public_header_files = 'Classes/Public/*.h'

  #这个 pods 还依赖于其他哪些 pods
  s.dependency "B_Category"
  s.dependency "HandyFrame"

4. cd Example/

更新组件内容

pod update --no-repo-update

5. cd demo/CustomUIKit/

pod lib lint

可能会出现验证失败的情况, 就根据提示解决就好

[!] CustomUIKit did not pass validation, due to 2 warnings (but you can use --allow-warnings to ignore them).
You can use the --no-clean option to inspect any issue.

6. 关联远程地址

git remote add origin git@github.com:LiHe0308/CustomUIKit.git

git add .

git commit -a -m "创建项目"

git push -u origin HEAD

至此就将创建的私有库上传到GitHub上了.

7. 项目发布

git tag 0.1.0

git push origin 0.1.0

要想被使用,还需向私有 CocoaPods 远程索引库提交 podspec 描述文件.

8. 向私有 CocoaPods 远程索引库提交 podspec 描述文件

远程索引仓库的创建

pod repo push PrivateSpecs CustomUIKit.podspec --allow-warnings
  • PrivateSpecs 就是私有索引仓库的名称.
  • CustomUIKit.podspec 就是创建组件的文件夹下面的.podspec的全名(注意:xxx.podspec路径需注意,必须是.podspec的路径, 也就是说,当前操作要在demo下的CustomUIKit目录下进行).

完成之后这个组件库就添加到我们的私有Spec Repo中了,可以进入到~./cocoapods/repos/xxx目录下查看

.End

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

推荐阅读更多精彩内容