iOS 远程私有库的搭建以及使用(中)

简介: iOS 远程私有库的搭建以及使用

五、向私有的Spec Repo中提交podspec和远程私有spec仓库提交



  • 5.1、在里面我们已经验证过 spec文件是符合规定的,向私有的Spec Repo中提交 spec文件


pod repo push JKCIOBase JKCIOBase.podspec

在此提示:JKCIOBase 是 私有本地私有 spec 索引库的名字,JKCIOBase.podspec 是我们要推送的索引文件


  • 提示:如果你在验证的时候有警告,只要没有报错可以加上 --use-libraries --allow-warnings,如下:


pod repo push JKCIOBase JKCIOBase.podspec --use-libraries --allow-warnings


image.png

5.2、我们验证下是否成功


进入本地 JKCIOBase 仓库,上面的没有报错,在JKCIOBase里面出现JKCIOBase仓库就是成功了,JKCIOBase里面会存着每个版本的spec文件,这里展示了 0.0.2 版本的 spec 文件

command + shift +G 输入 ~/.cocoapods/repos


image.png

5.3、远程私有spec仓库提交

其实写这个5.3是多余的,因为在5.2里面,我们把spec文件提交到本地的时候,同时也就提交到了我们创建的远程 spec仓库,也就是我们在 1.1 创建的 JKCIOSpecs,我们看下JKCIOSpecs里面,存放也是spec的各个版本,如下图


image.png

六、使用pod库来测试远程私有库的使用


  • 6.1、在桌面创建一个项目 JKRemoteLocalTest
  • 6.2、创建Podfile文件


cd JKRemoteLocalTest文件夹
pod init
  • 6.3、修改 Podfile文件的内容


source 'git@gitee.com:JKWC/JKCIOSpecs.git'
platform :ios, '9.0'
target 'JKRemoteLocalTest' do
    use_frameworks!
    pod 'JKCIOBase'
end


提示:source 'git@gitee.com:JKWC/JKCIOSpecs.git'是远程spec仓库的地址,不可少,因为 pod 'JKCIOBase'是要从 source资源里面去找spec文件来下载相应的版本的 JKCIOBase


  • 6.4、查看导入的效果



image.png

image.png


七、远程私有库与其他公有的混合使用



  • 7.1、如下 Podfile文件 内容,导入 SDWebImage 是不会成功的


source 'git@gitee.com:JKWC/JKCIOSpecs.git'
 platform :ios, '9.0'
 target 'JKRemoteLocalTest' do
    use_frameworks!
    pod 'JKCIOBase'
    pod 'SDWebImage'
end


  • 7.2、解决 7.1 导入 SDWebImage 不成功的问题
  • 分析 SDWebImage 是属于pod 公有库的资源,在 source 'git@gitee.com:JKWC/JKCIOSpecs.git'是不可能找到的,所以要在公有库的资源里面寻找,查看公有库资源路径


pod repo


image.png

  • 如下写 Podfile 文件才是正确的


source 'git@gitee.com:JKWC/JKCIOSpecs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'JKRemoteLocalTest' do
    use_frameworks!
    pod 'JKCIOBase'
    pod 'SDWebImage'
end


  • 7.3、查看导入远程私有库与公有库的效果


image.png

八、远程私有库分支



  • 8.1、这个有关分支的问题,我在远程共有库已经阐述过了这里我就在JKCIOBase添加一个JKKit


image.png

8.2、在spec文件里面设置一下JKCategoryJKKit分支的东西

image.png

  • 8.3、把版本改为 0.0.6,打tag提交代码如下


#  cd 进入spec所在的目录
cd 进入 JKCIOBase所在的目录,也就是spec文件所在的目录
# 打0.0.6的tag
git tag '0.0.6'
# 提交 tag到 远程私有仓库
git push origin 0.0.6
# 使用xcode提交代码到远程仓库
  • 8.4、提交spec文件到本地私有spec仓库(也就是我们创建的JKCIOBase)


pod repo push JKCIOBase JKCIOBase.podspec --use-libraries --allow-warnings


image.png


8.5、在使用 command + shift +G 输入 ~/.cocoapods/repos里面的 JKCIOBase就可以看到里面多了一个新的版本,我这里提交的是 0.0.6


image.png

8.6、测试一下是否设置分支成功

cd 进入上面测试`JKRemoteLocalTest`
# 更新库
pod update


image.png

image.png


九、远程私有库添加依赖库



  • 9.1、给JKCIOBase添加依赖库 'AFNetworking''MJRefresh',给JKKit添加一个依赖库 Masonry


image.png


  • 9.2、打tag,提交spec等等和 里面的一样,不再写了
  • 9.3、查看是否依赖第三方库成功。同样更新 JKRemoteLocalTest


image.png

目录
相关文章
|
5月前
|
iOS开发
iOS使用.framework类型的静态库
iOS使用.framework类型的静态库
39 1
|
5月前
|
开发工具 iOS开发
iOS制作.framework静态库
iOS制作.framework静态库
47 1
|
5月前
|
iOS开发 Perl
iOS使用.a类型的静态库
iOS使用.a类型的静态库
39 1
|
5月前
|
开发工具 iOS开发
iOS制作.a类型的静态库
iOS制作.a类型的静态库
36 1
|
5月前
|
开发工具 iOS开发 Perl
iOS使用SDK静态库
iOS使用SDK静态库
51 0
|
5月前
|
XML JSON API
IOS网络编程:介绍一下 Alamofire 库。
IOS网络编程:介绍一下 Alamofire 库。
120 3
|
12月前
|
安全 物联网 API
iOS开源库总结
iOS开源库总结
42 0
|
前端开发 API Android开发
Android侧滑踩坑记(仿IOS侧滑finish页面基于Slidr库)
Android侧滑踩坑记(仿IOS侧滑finish页面基于Slidr库)
259 0
|
Web App开发 存储 网络协议
ios 组件化之Cocoapods私有库详解以及问题解决方案
ios 组件化之Cocoapods私有库详解以及问题解决方案
ios 组件化之Cocoapods私有库详解以及问题解决方案
|
开发工具 iOS开发 Perl
iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种
iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种
174 0
iOS开发 - undefined symbols for architecture x86_64,大多数都是缺少静态库,缺少静态库分下面几种