美文网首页
iOS pod组件化

iOS pod组件化

作者: 大叔程序猿 | 来源:发表于2018-03-12 16:33 被阅读0次

    众所周知 当一个app项目足够大时 每个功能点细分出来 可以分成多个子app 例如美团 则是由 美团外卖 猫眼电影 ··· 等等组成  。为了更好的管理应用工程 iOS项目 一般采用的pod组件化解决方案 比较著名的有蘑菇街组件化之路

    本文只讲解一下 pod组件化执行步骤

    组件化大体思路

    框架说明

    继续集成:一个主工程(壳工程),包含所有的内容(整个项目),用于发包或打包测试。

    基础组件: 不依赖其他任何组件,独立完成功能。主要有:与业务无法的功能(如string或data的加密,category的封装)对第三方库的封装(如AFNetworking,SDWebImage的封装)

    业务公用组件:依赖基础组件或UIKit等系统组件,创建业务共同使用的功能(如分享,支付,网络访问)

    中间组件:连接业务公用组件和业务组件,及业务组件之间的互相调用。(如Mediator的组件)

    业务组件:单独的业务功能,不依赖其他业务组件。

    组件化流程

    1.在git库中创建自己的代码库和pod文件依赖库 记得添加LICENSE文件 我这里用了开源中国 码云 git库

    2. 把代码库git clone到本地  这里借用了SourceTree工具

    执行pod repo addJZBLib_iOShttps://git.oschina.net/jzbwlkj/JZBLib_podspecs.git

    3 创建一个demo 用来演示组件的用法 创建完挪到chone到本地的代码库中

    4 把自己写的组件git库的最外层 必须保证运行无误

    5 创建pod所对应的podspec文件  终端cd到本地git代码库pod spec create JZBLib_iOS 创建完成后 用xcode查看(把文件拖到Xcode 即可)

    6 把里边的内容都删了 复制一套模版即可  里边内容不明白啥意思的自行百度

    s.name= 'JZBLib_iOS'

    s.version          = '0.0.1'

    s.summary          = 'ios

    基础库

    '

    s.description      = <<-DESC

    TODO: Add long description of the pod here.

    DESC

    s.homepage         = '

    https://git.oschina.net/jzbwlkj/JZBLib_iOS'

    # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'

    s.license          = { :type => 'MIT', :file => 'LICENSE' }

    s.author           = { 'xs' =>'986852522@qq.com' }

    s.source           = { :git => 'https://git.oschina.net/jzbwlkj/JZBLib_iOS.git', :tag => s.version.to_s }

    # s.social_media_url = 'https://twitter.com/'

    s.ios.deployment_target = '8.0'

    s.source_files = 'JZBLib_iOS/*'

    s.source_files = 'JZBLib_iOS/**/*'

    s.dependency 'Mantle', '~> 2.1.0'

    s.dependency 'YYCache', '~> 1.0.4'

    s.dependency 'YYCategories', '~> 1.0.4'

    s.dependency 'FLKAutoLayout', '~> 1.0.0'

    s.dependency 'pop', '~> 1.0'

    s.dependency 'SVProgressHUD', '~> 2.0.3'

    s.dependency 'AFNetworking', '~> 3.1.0'

    end

    7  在git仓库中创建版本0.01版本 跟podspec文件对应 把代码上传到git代码库

    8 cd到本地代码库pod lib lint --allow-warnings查看版本库检查是否存在

    9 pod spec lint --use-libraries继续监测spec合法性

    10 pod repo push JZBLib_podspecsJZBLib_iOS.podspec把space文件传到自己创建的space仓库

    11 pod searchJZBLib_iOS

    参考网址

    1http://www.jianshu.com/p/d6a592d6fced

    2http://codecloud.net/10058.html

    3http://www.jianshu.com/p/0a4fbb94ef9f

    相关文章

      网友评论

          本文标题:iOS pod组件化

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