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

相关文章

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

    - 实现组件化开发有哪几种方式? 通过静态库。 通过xcode创建多个子项目,最后合并成一个项目。 创建一个私有库...

  • webpack基础笔记

    webpack基础 1.前端工程化 实际的前端开发: 模块化:(js的模块化,css的模块化,资源的模块化) 组件...

  • 前端开发过程中有哪些问题需要考虑?

    前端开发过程中有哪些问题需要考虑? 组件库 模块化 前端业务团队 做的事情沉淀组件库 团队基础沉淀模块化 开发...

  • Angular项目目录结构

    angular结构 主要文件 模块化组件化开发模式 创建组件命令 引用组件 数据绑定

  • iOS组件化储备

    资料 组件化/模块化 蜂鸟商家版 iOS 组件化 / 模块化实践总结 模块化与解耦 浅析 iOS 应用组件化设计 ...

  • 模块化、组件化与插件化(1)

    模块化、组件化与插件化 组件化 modularization、component 模块化 modularizati...

  • 前端工程化 webpack

    模块化和组件化是工程化的表现形式 模块化开发的4点好处: webpack 是一个打包模块化 JavaScript ...

  • iOS组件化

    0.ios组件化/模块化1.iOS 组件化开发项目框架设计2.iOS 组件二进制化方案3.组件化4.Seemygo...

  • webpack制作自己的JS库

    前端组件化、模块化已经成为一个前端开发者必备的技能,之前做了APP的组件化模块化后。萌生了将web、H5也进行了组...

  • android 收藏的一些好文

    1.常用git命令清单 2.Android组件化、模块化开发 3.Android 组件化案例 4. 5.

网友评论

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

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

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