iOS 进阶程序员

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

2017-08-18  本文已影响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找到

上一篇下一篇

猜你喜欢

热点阅读