私有源page 组件库整体概念:如果只是一个单独的pod 库 下载需要这样引入 pod '库名字':git=>'仓库地址',:commit => '提交记录' 将此次提交代码pod 下来。
pod 'JamTestSDK', :git =>"http://gitlab.yundasys.com:8090/wangjianmin9101/jamtestsdk.git",:commit => 'dfe1031c16fa994b6863cc9cf549984fdf79f398'
其实际原理是 在pod 的时候 根据git 地址 找到仓库里面名字为'JamTestSDK'的.podspec文件 然后根据此.podspec里面的 s.source 里面page 的信息 去下载。
而私有源方式 就是 把 此.podspec 文件 移动到另外一个非自身的’私有源仓库‘里面去 。然后在下载的时候利用cocopods 原理 将这个‘私有源仓库’下载到本地仓库 .cocopods 隐藏文件下 的 repos 下,然后在pod install 的时候 通过 pod '名字','版本号',找到podspec,
source 'http://gitlab.yundasys.com:8090/wangjianmin9101/jamsource.git'
pod 'JamTestSDK','0.0.1'
再根据podspec里面的s.source 配置的信息 找到该去哪里下载代码 下载什么版本代码。
看到这里不理解可以。带着疑问看下面的解释。
第一步 gitlib /github 创建一个空的git项目。(此项目即为私有源,放pod库的podspec文件的)
1600997410310_823EF03A-95EF-44CE-AF46-A4BB309FC26A.png备用即可
第二步2.创建一个正常的组件库。
1601012056175_F0FB43AA-8C7B-4266-B170-E32919DCB16A.png 1601012148173_D1A78414-01A2-4E10-9E11-C14A8DFF37EF.png创建组件库的方法在之前文章介绍过 请移步
[连接]https://www.jianshu.com/p/e48f4e965c93
[连接]https://www.jianshu.com/p/81d8e75ffc6d
**注意 创建好的组件库 的 .podspec 的 source 这里 需要 你单独特殊page一下 因为最后要将 这个 .podspec 文件上传到第一步创建的 仓库里面 以后pod 库 是通过 第一步创建的仓库里面的 .podspec文件 找到具体下载位置。
s.source = {
:git => 'http://gitlab.yundasys.com:8090/wangjianmin9101/jamtestsdk.git',
:commit =>'7fe550973afb1a89c1ef7007c95001b2b21b98cb',
}
source 这里 可以用:commit 也可以用 :git 去标识 总之 最后pod 代码的时候 是通过这里的 page 的 参数 去找代码的。 如果关于 git commit 不理解 请移步之前文章 或者百度自行了解
[采用官网推荐版本创建pod 库的方式连接]{https://www.jianshu.com/p/e48f4e965c93}
[借助sourcetree 完成组件库上传的连接]{https://www.jianshu.com/p/81d8e75ffc6d}
第三步 在私有源仓库上传 pod 组件库的.podspec文件
第一步创建的备用的私有源仓库 打开.cocopods文件夹(这是个隐藏文件夹)找到repo文件夹 点进去 就是 创建一个文件夹名称为第一步创建的私有源仓库的名称。然后根据图片将第二步组件库的.podspec放到相应位置。
1601015151560_91A8D1D2-D31F-485B-8C24-08F6F13F9187.png
文件格式必须名称必须一致 图中 JamTestSDK 这个文件夹的名称 就是 你第二步创建的组件库的 .podspec 文件 以及.podspec文件里面的 name 字段的名字 跟这里的文件夹三个必须保持一致。 然后 图中0.0.1 文件夹 是指的是 版本号 既 .podspec 文件里面的version 字段 必须一致。 也是你在引用的时候 pod ‘name’,'版本号',的版本号这个值。 通过这个值 最终找到 .podspec 文件的。
讲 .podspec文件放到这里 提交到gitlib 上边 然后在其他项目里面 就可以引用第一步创建的仓库作为私有源 然后pod 这里放到组件库了。
网友评论