ios模块化开发

一.mac环境配置 

1.ruby

2.pod

3.node

4.xcodeproj

二.在码云上创建自己的私有项目

1.填写项目名称 项目介绍

2.要首选选择开源许可证在选择是否开源 开源许可证我们选择MIT

3.是否开源选择私有或者公开都行

4.然后创建项目

三.本地创建项目

项目名称需要与在码云创建的名称一直

四.为将要组件化的项目制作*.podspec文件

1.打开终端 cd到你创建的项目下

2.然后输入 pod spec create PrivateLib(PrivateLib为项目名称) 命令创建.podspec(创建工程)podspec文件的作用是用于连接本地你创建的项目与你在码云上创建的私有源项目

 3.然后配置podspec文件  podspec文件例子

打开podspec文件配置

 s.name : 项目名 

 s.version : 版本号(需跟后面打 Tag 的值相等)

s.description:私有库注释

 s.homepage : 项目主页 

 s.license : 开源协议(这里我们选择 MIT )

 s.source : Git 仓库地址(码云创建的私有项目仓库地址)tag后面去掉#号与双引号(tag => s.version)

 s.ios.deployment_target : 项目最低支持版本

 s.source_files : 具体去那个目录下下载特定共享代码(注意:这里的地址与 .podspec 文件同级目录开始,,示例:PrivateLib/Classes/** /*表示如下目录下的所有文件 s.frameworks : 项目所依赖的系统库(如果需要) s.dependency : 项目所依赖的第三方库(如果需要)

s.dependency:具体是pod里面用到的第三方源文件,所有的源文件都要列举在这里

s.dependency "HKBase"

s.dependency "HKNetworking"

五.将本地工程与远程私有 Git 仓库关联

打开终端 cd到项目中

git init之后

git remote add origin <你的项目地址>

//下载所有文件

 git pull origin master

//添加所有新加的文件

git add .

//提交新添加的文件到本地git
git commit -m 'add file'
//将本地更新push到远程git服务器
git push origin master
//给本地仓库打个tag
git tag -m 'add tag' '0.1.0'
//将tag推送到远程服务器

git push --tags

如果项目push不成功就使用git pull origin master --allow-unrelated-histories重新pull之后在push

接着就是验证我们刚才的podspec文件,验证指令是:pod lib lint 来验证本地修改的podspec文件与你在码云上创建的私有文件是否匹配

如果有警告的话可以使用pod lib lint --allow-warnings 来验证,这个是忽略警告的验证

如果终端报错 xcodebuild:  KRTLogin/KRTLogin/KRTLogin/HKLoginVC.m:12:9: fatal error: could not build module 'KRTPrivateLib'有可能是因为找不到私有库的源文件,需要添加语句 pod lib lint --allow-warnings --use-libraries --sources='HKRTPodspec,master' 来制定私有源

六.把私有库推送到服务器

推送命令如下 pod repo push XXXPodspec PrivateLib.podspecXXXPodspec为主库名称)PrivateLib为自己创建的私有库名称

若果有警告可以用--allow-warnings来提交忽略警告 命令为 pod repo push XXXPodspec PrivateLib.podspec --allow-warnings

若果报错提示找不到私有源文件可以用 pod repo push HKRTPodspec KRTNetworkQuery.podspec --allow-warnings --use-libraries来确定提交

我们推送到服务器(主库)的的并不是代码,而是我们刚开创建的podspec文件以及项目的tag,然后pod的时候,他们会根据podspec里面配置的连接以及tag值下载相应代码

七.使用私有库

# 官方Cocoapods的源
source 'https://github.com/CocoaPods/Specs.git'
# 本地私有源

source 'https://gitee.com/zhenxb/HKRTPodspec.git'

platform :ios, '9.0'

target 'KRTLogin' do

# Private Pods

pod 'HKBase'                            # 基础库
pod 'HKNetworking' # 网络请求
end


解释 :官方Cocoapods的源是为了让我们可以pod到官方源下载例如afn等开源文件 

         本地私有源就是为了让我们可以pod到我们自已的私有化模块(在上面我们已经把我们自已的私有模块都上传到本地私有源里面了,就是步骤六的主库)

        KRTLogin为本模块名称,也就是项目名称

在使用私有库的时候,有时候其他人上传的私有库找不到,这个时候需要更新本地的私有库 pod repo update


最后查看私有库

ls ~/.cocoapods/repos




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值