創(chuàng)建遠程私有庫

目錄

特別感謝:http://www.itdecent.cn/p/1764b67d4527

圖-創(chuàng)建遠程私有庫

一 ?cocoapods安裝與使用

參考鏈接 http://www.itdecent.cn/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 ?安裝穩(wěn)定的最新的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 --,表示可以編輯了,然后輸入上面的文本內(nèi)容。

2:編輯完成后想要退出保存

先按左上角的esc鍵,再按shift +:鍵,當:符號出現(xiàn)在最下面的時候,再輸入wq,點擊回車,就保存并退出去了。

4> 執(zhí)行pod install

(第一次花的時間比較多,慢慢等著吧)

二 ?創(chuàng)建本地私有庫

1、在項目根目錄的上一個文件夾中創(chuàng)建一個文件夾lib,然后通過終端cd到該目錄下;

2、終端命名pod lib create Tools(Tools是你創(chuàng)建私有庫的名字,可修改),創(chuàng)建時候可能會出現(xiàn)這種錯誤

解決方法就是在終端輸入下面兩條命令:

sudo gem install colored2

sudo gem update --system

然后重復2、3步即可會出現(xiàn)下面界面!

依次選擇iOS、objc、Yes、None、TZ,意思一看就知道了,可以變化;這樣就會自動創(chuàng)建了私有庫工程,并自動打開

3、打開的工程就類似下面,其中上面的BYViewController等類可以給我們用來調(diào)試該私有庫的,真正的私有庫是放在下面pods--->Development-->Tools-->Classes里面;可以把私有庫包含的類拉到該文件中,這樣本地私有庫就創(chuàng)建成功了。

其中podfile里面的pod 'Tools', :path => '../'中path意思就是指向該本地庫的路徑,該路徑文件夾中內(nèi)容就是私有庫的內(nèi)容,可以通過cd到該podfile根目錄,然后通過pod install可以把該文件夾下面內(nèi)容全部拉到項目中來,如果該私有庫依賴第三方庫,那么只需要將第三方庫的pod到該私有庫中即可,例如將pod 'AFNetworking', "~> 3.0" 寫入到該私有庫的podfile中

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

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

這句話意思就是pod Tools私有庫,路徑是后面的,../意思是返回到上一個文件夾,然后lib子文件夾,然后Tools文件夾

5、cd到主項目的根目錄,然后pod install ,這樣就可以把私有庫pod到主項目中,至此本地私有庫創(chuàng)建結(jié)束

三 ?創(chuàng)建遠程私有庫

僅僅是本地私有庫是沒啥用的,我們需要遠程的私有庫才行,下面是創(chuàng)建遠程私有庫方法。

我們公司是自己搭建的gitLab,下面是創(chuàng)建私有庫步驟:

1、登錄進去

點擊New Project;會進入創(chuàng)建新項目界面

輸入項目名字,描述,選擇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[git@github.com:djqiang/gitdemo.git](mailto:git@github.com:djqiang/gitdemo.git)就不會報錯了!

參考鏈接:http://blog.csdn.net/dengjianqiang2011/article/details/9260435)

然后輸入

git push -u origin master

這個時候就把私有庫項目傳到gitLab上,但是私有庫上的內(nèi)容沒傳上去的,

然后輸入

git add .(主要add后面加個空格然后再加點)

git commit -m '初始化'

這樣就把私有庫內(nèi)容傳到遠程倉庫中了

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

s.version 版本號

s.summary? 描述

s.description 描述

s.homepage? 庫的根路徑,例如http://172.16.1.102/zhaojingjing

s.source? 庫的真正路徑

s.source_files? 庫的內(nèi)容路徑

另外我們需要給該庫打個版本號,cd 庫的根路徑:../lib/Tools

查詢版本號:git tag

設(shè)置版本號:git tag 0.1.0

上傳版本號:git push --tags

這樣就把遠程庫打上了標簽號,注意的是設(shè)置的版本號要和.podspec文件里面的版本號一致

四 ?創(chuàng)建遠程私有Spec Repository

下一步就是提交.podspec文件到私有倉庫,便于用戶pod。

1、創(chuàng)建并設(shè)置一個私有的Spec Repository

在gitlab上創(chuàng)建一個空的倉庫,命名為Specs,這個倉庫是用來存放我們自己所有的私有庫的spec文件,就如同官方的https://github.com/CocoaPods/Specs是用來存放所有官方的specs文件一樣。

在終端執(zhí)行命令?pod repo add Specs?http://xxx.git

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

pod repo add REPO_NAME SOURCE_URL

其中的 REPO_NAME 是我們要添加的私有repo的名稱(這里我們待會填的是:Specs),后面是倉庫的 gitlab 地址。這里做的其實是創(chuàng)建的工作,也就是在~/.cocoapods/repo目錄下添加了一個以你的私有repo為名的文件夾,但是并沒有添加spec文件。

至此,我們已經(jīng)在本地得到我們自己的私有倉庫 Specs ,這是一個空的倉庫。

假如原來私有倉庫Specs地址變了,只需要,

pod repo add Specs 新地址

添加一個新的源地址

五 ?提交.podspec遠程私有 Spec Repository

添加 剛才創(chuàng)建的 Tool.podspec 到你的 Spec Repository。

pod repo push Specs Tool.podspec

如果有警告,會導致無法通過,需要添加--allow-warnings

如果使用了第三方庫,或者c函數(shù)相關(guān)的,需要添加--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上面寫上我們私有庫的源地址,也就是我們之前創(chuàng)建的存放我們自己所有的私有庫的spec文件的項目,例如:http://172.16.1.102/zhaojingjing/Specs.git

設(shè)置源的方法是在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 '初始化'

這樣就把私有庫內(nèi)容傳到遠程倉庫中了

另外我們需要給該庫打個版本號,cd 庫的根路徑:../lib/Tools

查詢版本號:git tag

設(shè)置版本號: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文件填寫正確,并且在 執(zhí)行pod repo push Specs BMCCommon.podspec的時候添加--allow-warnings,例如pod repo push Specs BMCCommon.podspec --allow-warnings




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容