ios-组件化(模块化)开发

作者: 忽然之间_1988丶 | 来源:发表于2017-09-19 15:47 被阅读235次
    - 实现组件化开发有哪几种方式?
    • 通过静态库。
    • 通过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
    

    之后会有一些选项,使用语言,文件前缀,是否使用测试什么的,自己看着填下吧。(不重要)。

    创建完成后,会自动打开一个目录如下的项目:
    xcode目录
    • 把下图中的文件替换成你自己编写的组件代码文件。


      来源在文章最下面参考中有
    • 然后进入Example文件夹(注意,要先cd到Example文件夹呀,不要搞错路径了)
    执行:pod update --no-repo-update
    

    成功之后,就能在pods子工程下看见你添加的文件了。

    四:编辑配置信息文件
    854d4eb8-c7cf-4e4a-92a7-246f8818c2f9.png
    854d4eb8-c7cf-4e4a-92a7-246f8818c2f9.png

    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
    
    854d4eb8-c7cf-4e4a-92a7-246f8818c2f9.png
    • 提交
    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

    相关文章

      网友评论

      • Mister_H:您好,问您个问题,如果组件中用到了数据库的字段,难道要连数据库一起打包进去么?
        忽然之间_1988丶:您好,是不需要的哟,可以等你把组件引用到项目中的时候,再导入数据库文件哟。。。好比你从git上下载某些第三方库,需要手动添加一些lib是一样的哟。

      本文标题:ios-组件化(模块化)开发

      本文链接:https://www.haomeiwen.com/subject/yhvwsxtx.html