余姚论坛:iOS组件化开发-发布私有库

admin 2个月前 (08-08) 科技 44 1

远程索引库

将远程索引库添关联到本地

pod repo 查看本地已关联仓库源
pod repo add  本地索引库名称 远程索引库仓库地址
pod repo update 索引库名称
pod repo remove 本地索引库名称

 执行命令 添加远程索引库`KTPodSpecs`克隆到本地

远程库 

新建框架工程KTUIKit

利用模板自动生成私有库工程 

pod lib create 框架名称
pod lib create KTUIKit

生成的工程依赖关系

KTUIKit的示例工程的podfile配置spec的路径是相对于本地podfile的路径

余姚论坛:iOS组件化开发-发布私有库 第1张

编写PodSpec 

余姚论坛:iOS组件化开发-发布私有库 第2张

依赖第三方库

framewirks:依赖系统的动态库 比如 UIKit
vendored_framework:依赖非系统的动态库 比如TencentOpenAPI.framework
libraries:依赖系统静态库 比如libstdc++.a
vendored_libraries:依赖非系统的静态库 比如新浪微博的libWeiboSDK.a
dependency:依赖pod库

上传框架到远程仓库 

 新建远程仓库

余姚论坛:iOS组件化开发-发布私有库 第3张

进入本地KTUIKit目录执行Git命令 与远程KTUIKit建立关联

git remote add origin https://github.com/coderketao/KTUIKit.git
git branch --set-upstream-to=origin/master master 本地分支远程分支建立track

余姚论坛:iOS组件化开发-发布私有库 第4张 

余姚论坛:iOS组件化开发-发布私有库 第5张

建立关联后,本地KTUIKit push到远程仓库 注意:push过程记得一定将Pods和Podfile.lock文件忽略,否则导致pod install和pod repo push很慢

余姚论坛:iOS组件化开发-发布私有库 第6张

远程master分支添加tag 执行命令

git tag '0.1.0' 添加
git push --tags
git tag -d 0.1.0 删除
git push origin :0.1.0

余姚论坛:iOS组件化开发-发布私有库 第7张

私有库发布

将podspec文件到远程索引库 执行命令 验证`KTUIKit.podspec`是否合法

pod lib lint KTUIKit.podspec --allow-warnings --use-libraries 验证本地

余姚论坛:iOS组件化开发-发布私有库 第8张

执行命令 发布podspec到远程索引仓库

pod repo push KTPodSpecs KTUIKit.podspec --allow-warnings --use-libraries 

余姚论坛:iOS组件化开发-发布私有库 第9张

在构建组件时,如果该组件引用了其它库

s.dependendy 'SDWebImage'
s.dependendy 'AFNetWorking'

在验证、推送远程索引库加上pod的source

余姚论坛:iOS组件化开发-发布私有库 第10张
pod lib lint KTUIKit.podspec --sources='http://47.93.191.194:9002/hongketao/QXComponentSpecs.git,https://github.com/CocoaPods/Specs.git' --allow-warnings --use-libraries 

pod repo push KTPodSpecs KTUIKit.podspec --sources='http://47.93.191.194:9002/hongketao/QXComponentSpecs.git,https://github.com/CocoaPods/Specs.git' --allow-warnings --use-libraries 
余姚论坛:iOS组件化开发-发布私有库 第10张

 

私有库使用

新建项目,应用私有库 

余姚论坛:iOS组件化开发-发布私有库 第12张

 podspec的写法

~> 1.2.0 要求版本 [1.2.0, 2.0.0)
<= 1.2.0 版本小于等于1.2.0 超过后1.2.0后不再更新

指定三方库本地路径的写法(用于提交前进行测试)

pod 'AFNetworking', :path => '~/Desktop/AFNetworking'

指定git的写法

pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'

pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :branch => 'dev'

pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => '3.1.1'

pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :commit => '0f506b1c45'

指定podspec的写法

pod 'AFNetworking', :podspec => '~/Desktop/AFNetworking/AFNetworking.podspec'

指定subspecs的写法(这也是subspec的另一个用法

pod 'MyThirdparty', '~> 0.0.1', :subspecs => ['Sparta', 'GotyeSDK', 'TalkingData', 'Tingyun', 'BaiduPanorama']

   ,

远程索引库

将远程索引库添关联到本地

pod repo 查看本地已关联仓库源
pod repo add  本地索引库名称 远程索引库仓库地址
pod repo update 索引库名称
pod repo remove 本地索引库名称

 执行命令 添加远程索引库`KTPodSpecs`克隆到本地

远程库 

新建框架工程KTUIKit

利用模板自动生成私有库工程 

pod lib create 框架名称
pod lib create KTUIKit

生成的工程依赖关系

KTUIKit的示例工程的podfile配置spec的路径是相对于本地podfile的路径

编写PodSpec 

依赖第三方库

framewirks:依赖系统的动态库 比如 UIKit
vendored_framework:依赖非系统的动态库 比如TencentOpenAPI.framework
libraries:依赖系统静态库 比如libstdc++.a
vendored_libraries:依赖非系统的静态库 比如新浪微博的libWeiboSDK.a
dependency:依赖pod库

上传框架到远程仓库 

 新建远程仓库

进入本地KTUIKit目录执行Git命令 与远程KTUIKit建立关联

git remote add origin https://github.com/coderketao/KTUIKit.git
git branch --set-upstream-to=origin/master master 本地分支远程分支建立track

余姚论坛:iOS组件化开发-发布私有库 第13张 

余姚论坛:iOS组件化开发-发布私有库 第14张

建立关联后,本地KTUIKit push到远程仓库 注意:push过程记得一定将Pods和Podfile.lock文件忽略,否则导致pod install和pod repo push很慢

余姚论坛:iOS组件化开发-发布私有库 第15张

远程master分支添加tag 执行命令

git tag '0.1.0' 添加
git push --tags
git tag -d 0.1.0 删除
git push origin :0.1.0

余姚论坛:iOS组件化开发-发布私有库 第16张

私有库发布

将podspec文件到远程索引库 执行命令 验证`KTUIKit.podspec`是否合法

pod lib lint KTUIKit.podspec --allow-warnings --use-libraries 验证本地

余姚论坛:iOS组件化开发-发布私有库 第17张

执行命令 发布podspec到远程索引仓库

pod repo push KTPodSpecs KTUIKit.podspec --allow-warnings --use-libraries 

余姚论坛:iOS组件化开发-发布私有库 第18张

在构建组件时,如果该组件引用了其它库

s.dependendy 'SDWebImage'
s.dependendy 'AFNetWorking'

在验证、推送远程索引库加上pod的source

余姚论坛:iOS组件化开发-发布私有库 第19张
pod lib lint KTUIKit.podspec --sources='http://47.93.191.194:9002/hongketao/QXComponentSpecs.git,https://github.com/CocoaPods/Specs.git' --allow-warnings --use-libraries 

pod repo push KTPodSpecs KTUIKit.podspec --sources='http://47.93.191.194:9002/hongketao/QXComponentSpecs.git,https://github.com/CocoaPods/Specs.git' --allow-warnings --use-libraries 
余姚论坛:iOS组件化开发-发布私有库 第19张

 

私有库使用

新建项目,应用私有库 

余姚论坛:iOS组件化开发-发布私有库 第21张

 podspec的写法

~> 1.2.0 要求版本 [1.2.0, 2.0.0)
<= 1.2.0 版本小于等于1.2.0 超过后1.2.0后不再更新

指定三方库本地路径的写法(用于提交前进行测试)

pod 'AFNetworking', :path => '~/Desktop/AFNetworking'

指定git的写法

pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git'

pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :branch => 'dev'

pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :tag => '3.1.1'

pod 'AFNetworking', :git => 'https://github.com/AFNetworking/AFNetworking.git', :commit => '0f506b1c45'

指定podspec的写法

pod 'AFNetworking', :podspec => '~/Desktop/AFNetworking/AFNetworking.podspec'

指定subspecs的写法(这也是subspec的另一个用法

pod 'MyThirdparty', '~> 0.0.1', :subspecs => ['Sparta', 'GotyeSDK', 'TalkingData', 'Tingyun', 'BaiduPanorama']

,

诚信在线

诚信在线(www.hoteluniformcustom.com)现已开放诚信在线手机版下载。游戏公平、公开、公正,用实力赢取信誉。

皇冠体育声明:该文看法仅代表作者自己,与本平台无关。转载请注明:余姚论坛:iOS组件化开发-发布私有库

网友评论

  • (*)

最新评论

站点信息

  • 文章总数:696
  • 页面总数:0
  • 分类总数:8
  • 标签总数:1043
  • 评论总数:323
  • 浏览总数:15422