iOS组件化之制作私有库 ,上传到pod.

2,670 阅读3分钟

1.先创建项目库 打开终端输入(我是把项目放在桌面,直接cd到桌面)

       pod lib create   xxx

1.1 _终端会让你输入创建相关信息

 执行命令会在桌面有个xxx的项目文件夹,xcode会自动打开该工程.

 1.2_找到配置文件

1.3_打开配置文件并且根据自己实际情况配置

1.4配置完成,打开桌面上面的项目文件.把我们需要上传的代码文件拉到Classes文件夹下

1.5 然后 cd 进入到Example 文件中 pod install 安装下我们的组件

为什么要pod install,因为不重新pod install Example工程根本不知道Pod更新了,pod install的作用:重新让pod库与所依赖的工程文件产生关联 打开 Example 文件中的项目 Command+B 一下 如果没有问题 就说明集成成功

1.6把本地库上传到远端

      1.6.1 这里远端就用码云代替,去码云上建一个仓库.

1.6.2 获取仓库地址

1.6.3 和本地仓库建立联系.

  1.6.3.1   

  1.  cd /Users/tuyongjiang/Desktop/TJYNetWork (进入到桌面的工程目录下)

  2.  git remote add origin gitee.com/tyjzz/tyjne…  (和远端仓库建立联系)

  3. git remote -v (查看关联远端)

     origin gitee.com/tyjzz/tyjne… (fetch)

     origin gitee.com/tyjzz/tyjne… (push)

  4.git add . (把本地添加文件加入缓存区)

  5. git commit -m '提交' (提交代码到本地仓库)

  6. git push -u origin master -f (推送到远端)

  7. git tag 0.1.0#(注意,这里的tag必须和.podSpec文件的版本一致)

  1. git push --tags

(如果提交代码有报错自行百度搜索)

1.7.在本地Cocoapods索引库中创建我们私有组件的索引库文件

   1.7.1  同1.6.1一样去码云上面建一个私有的索引库 (索引库不要和上面的私有库用一样地址).

   1.7.2  建完索引库

     1.7.2.1    通过这个命令本地索引库管理

                   pod repo add 私有组件名称 索引库远程地址 

                   pod repo add TJYNetWork gitee.com/tyjzz/tyjne…

       执行完命令 本地Cocoapods索引库会出现TJYNetWork文件

1.7.2.2  把自己私有库的索引添加到自己私有库中

  1.        pod repo push 索引库名称 当前组件中podspec文件 (记得要把podspec文件里s.source 地址换成自己的远程地址-----___-----)

        1. cd /Users/tuyongjiang/Desktop/TJYNetWork

        2.  pod repo push TJYNetWork TJYNetWork.podspec --allow-warnings

2.执行完命令 索引库里面会多一个版本0.1.0 

3.到这里制作自己的私有索引库就完成了.           

1.8 使用

1.9 更新库

 如果修改代码或者添加文件,需要更新pod库

 1.组件中podspec文件把版本提高一个

 2.提交代码到远端库,打上tag,tag和podspec文件里面版本一样

 3.pod repo push TJYNetWork TJYNetWork.podspec --allow-warnings

 这样pod库就提高了一个版本

//////////==========公有的pod库=========\\\\\\\\\\\\\\\\\

2.0 公用的pod是要把spec上传到cocospod官方的 

    1.将spec索引上传到官方需要先注册,命令如下

     pod trunk register 电子邮箱 '您的姓名' 

   注意邮箱必须正确,收到邮件后需要点击连接确认激活。 

2. 激活后将spec push到官方,这个过程可能需要一点时间,请耐心等等待。

    pod trunk push TJYNetWork.podspec  

   pod trunk push TJYNetWork.podspec --allow-warnings   //上面不通过可以使用这个忽略警告的