美文网首页iOS 进阶程序员
iOS项目组件化-CocoaPod创建私有库

iOS项目组件化-CocoaPod创建私有库

作者: 九亿宅男的梦 | 来源:发表于2017-08-18 15:03 被阅读137次

    项目组件化

    项目组件化就是将项目分成一个个单独的模块,通过各个模块之间的组合形成一个大整体。各个模块则通过各个功能组件、基础组件组合而成。

    模块:我们把每个模块称为业务组件(如首页、我的、...)

    常见的组件:业务组件、功能组件、基础组件(工具类、分类)

    优势:通过几个单独组件的快速组合便可以实现单一模块的运行、测试

    组件的创建方式:工程与工程嵌套、工程依赖静态库、使用CocoaPod创建私有库并依赖

    CocoaPod创建私有组件

    Pod工程 = 组件类文件 + podspec文件

    创建过程

    分三大步骤:一、创建pod工程并提交远程仓库

                          二、检查Pod工程中podspec文件是否配置有误

                          三、创建远程私有仓库,并只将Pod工程中的podspec文件提交到私有远程仓库

    注意:此处的一、三分别为单独的仓库

    过程详解

    一、创建pod工程并提交远程仓库

    1.pod lib create 工程名

    pod lipo create MTFDemoToolClass  执行后提示如下

    2.进入工程目录Pods,找到ReplaceMe.m类,pod工程中所有创建的类与ReplaceMe.m类为同级目录或为此目录的子目录。此目录我将ReplaceMe.m类删除,创建如下并在新创建的类中增加代码

    @interface MTFDemoToolClass : NSObject

    - (void)testMeath;

    @end

    @implementation MTFDemoToolClass

    - (void)testMeath{

        NSLog(@"测试此方法");

    }

    @end

    3.在工程目录中找到Podspec Metadata,查看.podspec文本内容,并修改s.description信息或者版本号

    (此处注意两点:s.version:版本号与Tag 版本一致

                                  s.homepage:与远程仓库的地址一致

                                  s.source:与远程仓库的地址一致

                                    s.summary:记得修改值,否则会提交私有库是抛错 )

    4.创建远程仓库并将整个Pod工程提交远程仓库,此处我直接将Pod工程提交到GitHub(可以为GitLab、码云 如为GitLab、码云则注意3.中 s.homepage、s.source地址)

    5.给Pod工程标记Tag,并将Tag推送到远程仓库,执行命令如下:(注意版本一致性与3中提到的s.version)

        git tag -a 0.1.0 -m "0.1.0"

        git push --tags

        git push origin master

    6.查看远程GitHub 中 release是否有版本0.1.0信息

    二、检查Pod工程中podspec文件是否配置有误

    此步骤非常重要:1.进入Pod工程.podspec同级目录

                                   2.执行pod lib lint 查看本地是否配置有误(如果没通过则查看原因)

                                   3.执行pod spec lint 查看远程是否配置有误 (如果没有通过查看原因)

    如果只是警告,在以下步骤使用此命令 pod repo push 仓库名 xxx.podspec --allow-warnings

    三、创建远程私有仓库,并只将pod工程中的podspec文件提交到私有远程仓库

    1.此处我又一次在GitHub创建了新的仓库

    新仓库地址:https://github.com/matangfeng/MTFDemoPrivate.git

    2.将私有仓库通过以下命令克隆到本地

    pod repo add 仓库名 新仓库地址

    (仓库名可以是任意含有意义的名称,仓库地址为步骤1中的地址)

    pod repo add MTFDemoSpec https://github.com/matangfeng/MTFDemoPrivate.git

    成功将会在电脑根目录下展示

    3.将podspec文件通过以下命令上传的私有仓库,进入到刚刚创建的pod工程含有xxx.podspec目录,执行命令:

    pod repo push 仓库名 xxx.podspec

    (仓库名为与步骤2中的一致,xxx.podspec为pod工程的.podspec文件名)

    pod repo push MTFDemoSpec MTFDemoToolClass.podspec

    成功后终端如下:

    以上步骤私有Pod工程创建成功

    使用

    在使用的工程中的Podfile文件中,因为是私有库记得导入远程私有仓库地址,然后导入.podspec小点前边的文件名,作为pod '文件名' ,'版本号'  ,最后执行 pod install

    如果团队开发,请记得让队友更新本地私有库 pod setup

    图解

    代码

    文章中的代码都可以在我的GitHub MTFDemoToolClassMTFDemoPrivate找到

    相关文章

      网友评论

        本文标题:iOS项目组件化-CocoaPod创建私有库

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