创建远程私有库

目录

特别感谢:https://www.jianshu.com/p/1764b67d4527

图-创建远程私有库

一  cocoapods安装与使用

参考链接 https://www.jianshu.com/p/7138ab490d14

1 替换ruby源

 ruby -v 查看ruby版本

gem sources -l

gem sources --remove  https://rubygems.org/  移除掉原有的源

gem source -a https://gems.ruby-china.com

gem sources  -l

2 更新升级 Gem 版本

(gem不更新可能导致安装pod失败)

sudo gem update --system  

输入开机密码

gem -v 查看gem版本

3. 安装CocoaPods

sudo gem install cocoapods

pod --version

sudo gem install -n /usr/local/bin cocoapods --pre  安装稳定的最新的release beta版本

4. 更新Podspec索引文件

pod setup 更新索引库

5. cocoapods的使用

1> cd进入项目目录

2> touch Podfile  新建Podfile的文件

3> 编辑 Podfile文件

方式一

直接打开该文件然后输入

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '13.0'

target 'AboutCollectionView' do

pod 'AFNetworking', '~> 3.1.0'

end

其中第一行https://github.com/CocoaPods/Specs.git为SDK来源

第二行13.0为iOS的版本号

第三行中AboutCollectionView为Xcode工程的名字

第四行AFNetworking', '~> 3.1.0为要导入SDK的名字和约束版本号

方式二(推荐)

1:还是在项目目录下,输入vim Podfile,然后 按键盘的“i”键 编辑,当下面的"Podsfile" 0L, 0C将变成-- INSERT --,表示可以编辑了,然后输入上面的文本内容。

2:编辑完成后想要退出保存

先按左上角的esc键,再按shift +:键,当:符号出现在最下面的时候,再输入wq,点击回车,就保存并退出去了。

4> 执行pod install

(第一次花的时间比较多,慢慢等着吧)

二  创建本地私有库

1、在项目根目录的上一个文件夹中创建一个文件夹lib,然后通过终端cd到该目录下;

2、终端命名pod lib create Tools(Tools是你创建私有库的名字,可修改),创建时候可能会出现这种错误

解决方法就是在终端输入下面两条命令:

sudo gem install colored2

sudo gem update --system

然后重复2、3步即可会出现下面界面!

依次选择iOS、objc、Yes、None、TZ,意思一看就知道了,可以变化;这样就会自动创建了私有库工程,并自动打开

3、打开的工程就类似下面,其中上面的BYViewController等类可以给我们用来调试该私有库的,真正的私有库是放在下面pods--->Development-->Tools-->Classes里面;可以把私有库包含的类拉到该文件中,这样本地私有库就创建成功了。

其中podfile里面的pod 'Tools', :path => '../'中path意思就是指向该本地库的路径,该路径文件夹中内容就是私有库的内容,可以通过cd到该podfile根目录,然后通过pod install可以把该文件夹下面内容全部拉到项目中来,如果该私有库依赖第三方库,那么只需要将第三方库的pod到该私有库中即可,例如将pod 'AFNetworking', "~> 3.0" 写入到该私有库的podfile中

4、回到主项目的podfile中,添加

pod 'Tools', :path => '../lib/Tools'

这句话意思就是pod Tools私有库,路径是后面的,../意思是返回到上一个文件夹,然后lib子文件夹,然后Tools文件夹

5、cd到主项目的根目录,然后pod install ,这样就可以把私有库pod到主项目中,至此本地私有库创建结束

三  创建远程私有库

仅仅是本地私有库是没啥用的,我们需要远程的私有库才行,下面是创建远程私有库方法。

我们公司是自己搭建的gitLab,下面是创建私有库步骤:

1、登录进去

点击New Project;会进入创建新项目界面

输入项目名字,描述,选择private模式,然后点击下面的create project

会进入到这个界面

2、打开终端,cd 到lib/Tools中,然后输入命令

git remote add originhttp://172.16.1.102/zhaojingjing/Tool.git

后面路径是该项目的路径,可以选择是ssh或者http模式,两个模式路径不一样,(提示出错信息:fatal: remote origin already exists.

解决办法如下:

1、先输入$ git remote rm origin

2、再输入$ git remote add origin[[email protected]:djqiang/gitdemo.git](mailto:[email protected]:djqiang/gitdemo.git)就不会报错了!

参考链接:http://blog.csdn.net/dengjianqiang2011/article/details/9260435)

然后输入

git push -u origin master

这个时候就把私有库项目传到gitLab上,但是私有库上的内容没传上去的,

然后输入

git add .(主要add后面加个空格然后再加点)

git commit -m '初始化'

这样就把私有库内容传到远程仓库中了

另外需要修改私有库的.podspec文件,

s.version 版本号

s.summary  描述

s.description 描述

s.homepage  库的根路径,例如http://172.16.1.102/zhaojingjing

s.source  库的真正路径

s.source_files  库的内容路径

另外我们需要给该库打个版本号,cd 库的根路径:../lib/Tools

查询版本号:git tag

设置版本号:git tag 0.1.0

上传版本号:git push --tags

这样就把远程库打上了标签号,注意的是设置的版本号要和.podspec文件里面的版本号一致

四  创建远程私有Spec Repository

下一步就是提交.podspec文件到私有仓库,便于用户pod。

1、创建并设置一个私有的Spec Repository

在gitlab上创建一个空的仓库,命名为Specs,这个仓库是用来存放我们自己所有的私有库的spec文件,就如同官方的https://github.com/CocoaPods/Specs是用来存放所有官方的specs文件一样。

在终端执行命令 pod repo add Specs http://xxx.git

注意:上面的命令的解释如下:

pod repo add REPO_NAME SOURCE_URL

其中的 REPO_NAME 是我们要添加的私有repo的名称(这里我们待会填的是:Specs),后面是仓库的 gitlab 地址。这里做的其实是创建的工作,也就是在~/.cocoapods/repo目录下添加了一个以你的私有repo为名的文件夹,但是并没有添加spec文件。

至此,我们已经在本地得到我们自己的私有仓库 Specs ,这是一个空的仓库。

假如原来私有仓库Specs地址变了,只需要,

pod repo add Specs 新地址

添加一个新的源地址

五  提交.podspec远程私有 Spec Repository

添加 刚才创建的 Tool.podspec 到你的 Spec Repository。

pod repo push Specs Tool.podspec

如果有警告,会导致无法通过,需要添加--allow-warnings

如果使用了第三方库,或者c函数相关的,需要添加--use-libraries

pod repo push Specs Tool.podspec --use-libraries --allow-warnings

试一下可否能搜到改私有库

pod search Tool

有时候会搜不到

解决:rm ~/Library/Caches/CocoaPods/search_index.json 然后重新搜索

然后将框架写入到项目的podfile里面,注意:

由于这是我们的私有库,当pod install的话,cocoapods会默认从gitHub上搜索,所以我们要在项目的podfile上面写上我们私有库的源地址,也就是我们之前创建的存放我们自己所有的私有库的spec文件的项目,例如:http://172.16.1.102/zhaojingjing/Specs.git

设置源的方法是在podfile上面写上

source 'http://172.16.1.102/zhaojingjing/Specs.git'

source 'https://github.com/CocoaPods/Specs.git'

即可!

六  更新私有库

再就是更新库了,假如库有更新,需要更新到最新版本,添加版本号!操作如下:

1、cd 到本地库根目录

2、git add .(主要add后面加个空格然后再加点)

git commit -m '初始化'

这样就把私有库内容传到远程仓库中了

另外我们需要给该库打个版本号,cd 库的根路径:../lib/Tools

查询版本号:git tag

设置版本号:git tag 0.1.0

上传版本号:git push --tags

然后修改私有库的.podspec文件里面的s.version,必要时候也可以修改s.summary 描述

然后将刚才修改的.podspec文件传到私有库中

pod repo push Specs Tool.podspec --use-libraries --allow-warnings

其中Specs是私有源库的名称,Tool.podspec是刚才修改的.podspec文件名称

传完后试一下可否能搜到改私有库

pod search Tool

搜到,并且有两个版本号就说明成功了!并在在电脑~/.cocoapods/repos里面的对应私有库里面就有两个版本号了!

如果私有库需要依赖第三方库,那么只需要在.podspec文件中添加

s.dependency 'Masonry', '~> 1.0.2'

s.dependency 'MBProgressHUD', '~> 1.0.0'

即可!

修改库.podspec文件时候再次上传容易导致- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use--verbosefor more information.

这个错误,解决方法就是要保证podspec文件填写正确,并且在 执行pod repo push Specs BMCCommon.podspec的时候添加--allow-warnings,例如pod repo push Specs BMCCommon.podspec --allow-warnings




你可能感兴趣的:(创建远程私有库)