- 实现组件化开发有哪几种方式?
- 通过静态库。
- 通过xcode创建多个子项目,最后合并成一个项目。
- 创建一个私有库,通过cocoaPods插件管理。
上面几种方式都可以完成组件化开发,但是前面2种一般基于本地开发,不利于团队合作,和版本更新。所以我选择了最后一种方式,实现远程组件开发。(最后一种也可以实现本地组件)。
- 前期准备
- cocoaPods安装,和基本使用。
- 远程代码仓库注册,环境搭建。
github:私仓收费,公仓免费(国外)。
码云:免费(国内)。
码市:免费(国内)。
本屌作为一个拥有强烈的爱国主义情怀的小小码农,当然毫不犹豫选择了码云。(主要是不要钱)。
第一次使用git记得设置名字和邮箱呀。(非常重要)
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
一:创建远程私有库索引文件,用来存放私有库的详细描述信息.podspec文件。
二:创建远程私有库源码仓库,用来存放私有库源码。
三:创建带.pod文件的工程
pod lib create MyProjectBase
之后会有一些选项,使用语言,文件前缀,是否使用测试什么的,自己看着填下吧。(不重要)。
创建完成后,会自动打开一个目录如下的项目:
-
把下图中的文件替换成你自己编写的组件代码文件。
- 然后进入Example文件夹(注意,要先cd到Example文件夹呀,不要搞错路径了)
执行:pod update --no-repo-update
成功之后,就能在pods子工程下看见你添加的文件了。
四:编辑配置信息文件
s.homepage 有就写,没有写http://www.baidu.com也可以。
s.source 地址就是你最开始在码云创建的源码仓库地址。
- 对本地库进行校验(验证上一步编辑的 MyProjectBase.podspec文件)
pod spec lint --allow-warnings
出现MyProjectBase passed validation. 则说明验证通过。如果失败,仔细检查配置文件是否出错。
五:本地文件和远程仓库关联
- 提交本地代码到远程仓库
git status
git add .
git commit -m '编辑spec文件'
git remote add origin [https://git.oschina.net/funky_hs/myprojectbase.git](https://git.oschina.net/funky_hs/myprojectbase.git) (将本地库与远程代码仓库进行关联)
git push origin master (提交到远程仓库)
git tag '0.1.0' (要与MyProjectBase.podspec文件中的tag值保持一致)
git push --tags(将tag提交到远程)
pod spec lint --allow-warnings(验证远程是否正确,注意:Username与Password一定要填写正确)
MyProjectBase.podspec passed validation.
表明验证通过
- 将podspec文件提交到本地的私有索引库
pod repo add MyProjectSpec https://git.oschina.net/funky_hs/myprojectbase.git
pod repo
- 提交
pod repo push MyProjectSpec MyProjectBase.podspec
六:使用制作好的pod
- 新建项目
cd到项目根目录下。
执行:pod init
-
修改Podfile文件如下:
执行:pod install
感言:
以上就是搭建一个远程仓库的基本步骤,看起来有点多,第一次搭建确实有点麻烦。但搭好之后,使用起来那酸爽,自己慢慢体会吧。
参考:
http://www.cnblogs.com/hs-funky/p/6780203.html
http://www.jianshu.com/p/ce9941015123
http://www.jianshu.com/p/9e2c7a7c1211