一、安装cocoapods环境为了演示下文统一相关名称
私有库管理库名称为iOSSpec
私有库名称为iOSLibraryDemo
安装教程参考:https://www.cnblogs.com/angelgril/p/6731015.html
二、安装cocoapods-repo-svn插件sudo gem install cocoapods-repo-svn
三、创建私有库版本管理库
1.在SVN上创建私有库版本管理库
注意:该仓库不包含trunk、tags、branches
例如:iOSSpec
2.将版本管理库添加到本地# 与git *** 作一样将管理库添加到本地
pod repo-svn add iOSSpec svn://svnbucket.com/blackmonkeyidea/iOSSpec/
3.执行pod repo即可查看是否已经添加成功
pod repo
4.添加过程中出现的问题
(1)无法checkout SVN代码
svn:E170013-unable to connect to a repository at url xxx,
svn:E1700113: unable to connect to remote host: no route to host。
解决方法:
使用SVN命令将账号密码添加到缓存
svn co svn://svnbucket.com/blackmonkeyidea/iOSSpec --username 填你的SVN用户名 --password 填你的SVN密码
出现上图的情况,一般写p,以后就不会再出现了!
(2)SVN服务https证书问题导致无法访问解决方法:
用命令打开servers配置文件:open ~/.subversion/servers
在servers配置文件的末尾添加:
ssl-ignore-host-mismatch = true
ssl-ignore-unknown-ca = true
ssl-ignore-invalid-date = true
四、创建私有库
1.先在SVN上创建私有库
注意:私有库需要包含trunk、tags、branches
例如:iOSLibraryDemo
2.任意目录下执行创建私有库命令pod lib create iOSLibraryDemo
注意:为了更好的进行版本管理,创建完成后会自动打开xcode暂时先关闭iOSLibraryDemo工程,在其他位置将SVN上的iOSLibraryDemo仓库checkout下来
3.将创建的本地库添加到SVN版本控制 (1)本地创建的私有库拷贝到trunk目录下并移除git相关文件注意:由于版本管理是SVN,所以移除无用的git相关文件,如果以后打算迁移到git仓库可以不用移除
(2)提交trunk目录内容到SVN 五、发布私有库版本 1.添加私有库源码 (1)将已经准备好的私有库代码拷贝到Classes目录注意:私有库代码中,提供给外界使用的类、属性和方法,必须添加public修饰符,否则外界无法访问
(2)在Example目录下执行pod install,xcode即可看到添加的代码 2.修改私有库描述文件并发布tag例如:iOSLibraryDemo.podspec
name:框架名
version:当前版本(注意,是当前版本,假如你后续更新了新版本,需要修改此处)
summary:简要描述,在pod search iOSLibraryDemo的时候会显示该信息。
description:详细描述
homepage:页面链接
license:开源协议
author:作者
source:源码git地址/svn地址
platform:支持最低ios版本
source_files:源文件(可以包含.h和.m)
public_header_files:头文件(.h文件)
resources:资源文件(配置的文件都会被放到mainBundle中)
resource_bundles:资源文件(配置的文件会放到你自己指定的bundle中)
frameworks:依赖的系统框架
vendored_frameworks:依赖的非系统框架
libraries:依赖的系统库
vendored_libraries:依赖的非系统的静态库
dependency:依赖的三方库
(1)修改s.source版本管理地址和方式
//修改默认Git管理方式为SVN管理方式
s.author = { 'cwj' => 'xxx@example.com' }
s.source = { :svn => 'svn://svnbucket.com/blackmonkeyidea/iOSLibraryDemo', :tag => s.version.to_s }
(2)修改后将trunk提交至SVN,并打一个tag
注意:每次要更新库时,都需要修改版本号并重新打tag
3.本地来验证一下.podspec#首先要切换到本地工程的trunk目录下
pod lib lint --allow-warnings
4.将.podspec提交到版本管理库
pod repo-svn push iOSSpec iOSLibraryDemo.podspec
5.项目中使用方法
# Uncomment the next line to define a global platform for your project
platform :ios, '12.0'
target 'Target名称' do
# Comment the next line if you don't want to use dynamic frameworks
plugin 'cocoapods-repo-svn', :sources => [
'https://svn服务器地址/iOSSpec' # 添加 svn 服务器中私有库 spec 的 repo
]
use_frameworks!
# 测试私有库pod
pod 'iOSLibraryDemo'
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)