iOS私有库开发流程
背景:
多个iOS项目之间可通用的处理,可以使用cocoapods私有库的方式来封装SDK。
私有库开发流程如下。
需要说明的是,
-
其中步骤1~3、以及第10,只有新建项目时才需要。
-
其中步骤第13(app方执行pod install)是在app开发方执行。,工作都是在SDK开发方进行。
1、创建pod库
pod lib create LocUI
2、在公司gitlab上创建空白项目
3、将步骤1新建的项目上传到gitlab
4、修改SDK代码
5、修改Pod目录下的podspec文件
有几项的配置需要按实际修改
s.version = '0.1.2'
s.homepage = 'https://gitlab.lanhanba.com/iOS/ioslocui'
s.source = { :git => 'https://gitlab.lanhanba.com/iOS/ioslocui.git', :tag => s.version.to_s }
每次对私有库迭代版本时,其中的version必须更新,才能在调用方app项目执行 pod install 时拉到最新版本的代码
在私有库中调用外部库时,
- 引用的外部cocoapod库,设置s.dependency 比如
s.dependency 'YTKNetwork', '~> 3.0.6'
- 非pod方式使用的第三方库-动态库(.framework文件),设置s.vendored_libraries 比如
s.vendored_frameworks = 'iOSSocialShare/Classes/Vendor/TencentOpenAPI/TencentOpenAPI.framework'
- 非pod方式使用的第三方库-静态库(.a文件),设置s.vendored_frameworks 比如
s.vendored_libraries = 'iOSSocialShare/Classes/Vendor/WechatOpenSDK/libWeChatSDK.a', 'iOSSocialShare/Classes/Vendor/WXWork/libWXWorkApi.a'
6、检查podspec文件
终端切换到podspec文件所在路径,执行命令,确保没有报错。
pod lib lint
或者
pod lib lint --allow-warnings
7、私有库自带的demo项目更新调用库
Demo项目执行 pod install 获取库的最新代码 demo重新编译,调用新版私有库,确认新版可以被正常调用
8、提交代码修改到git
9、git上打tag标签
标签必须同第5步podsepc文件中设置的 s.version 值一致
10、创建podspec(仅限添加私有库时)
使用pod repo list 可查看已有的repo
使用pod repo remove specsName 来删除repo
新建私有库后,用pod repo add命令创建podspec
pod repo add SpecsNameXXX sourceCodeGitUrlXXXX
11、更新podspec(仅限后续更新私有库时)
使用pod repo update specname 会更新最新版本代码
pod repo update specname
12、推送podspec
比如
pod repo push LocUI LocUI.podspec
或者
pod repo push LocUI LocUI.podspec --allow-warnings
执行后会把我们的pod放到本地podspec中
如:/Users/zhoudanjie/.cocoapods/repos/LocUISpecs/LocUI/0.1.0/LocUI.podspec
13、app项目中调用私有库
platform :ios, ‘9.0’
target 'appLocUI' do
pod 'LHBridge', :git => 'https://gitlab.lanhanba.com/iOS/iosbridge.git', :tag => '0.1.1' # 添加这一行
end
执行pod install,拉取SDK指定版本代码后,就可以基于SDK进行相应开发了。