pod存起來看看

創(chuàng)建一個私有的podspec包括如下那么幾個步驟:

1.創(chuàng)建并設(shè)置一個私有的Spec Repo。2.創(chuàng)建Pod的所需要的項目工程文件,并且有可訪問的項目版本控制地址。3.創(chuàng)建Pod所對應(yīng)的podspec文件。4.本地測試配置好的podspec文件是否可用。5.向私有的Spec Repo中提交podspec。6.在個人項目中的Podfile中增加剛剛制作的好的Pod并使用。7.更新維護(hù)pod spec。

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

創(chuàng)建一個倉庫https://github.com/TRZXDev/TRZX_Repositories

屏幕快照 2017-01-16 13.55.34.png

本地添加私有源

pod repoadd[Private Repo Name] [GitHub HTTPScloneURL]---------------------------------------------------------pod repoaddTRZX_Repositories https://github.com/TRZXDev/TRZX_Repositories

此時如果成功的話cd到~/.cocoapods/repos目錄下就可以看到TRZX_Repositories這個目錄了。

屏幕快照 2017-01-16 14.04.26.png

至此第一步創(chuàng)建私有Spec Repo完成。

創(chuàng)建Pod的所需要的項目工程文件,并且有可訪問的項目版本控制地址

創(chuàng)建一個Xcode項目 TRZX_Test

在TRZX_Test項目下創(chuàng)建名為TRZX_Test的文件夾,后面我們需要做成私有pod的文件均放在該文件夾下

在TRZX_Test文件下面添加TRZX_Test文件

屏幕快照 2017-01-17 13.47.04.png

在gitHub新建一個project名為TRZX_Test項目

屏幕快照 2017-01-17 13.48.12.png

關(guān)聯(lián)本地項目推送至gitHub

echo"# TRZX_Test">> README.md

git init

git add .

git commit -m"first commit"

git remote add origin https://github.com/TRZXDev/TRZX_Test.git

git push -u origin master

假如我們的源是origin,分支是master,那么我們 需要這樣寫需要知道,我們的源可以是本地的路徑

git pull origin master--allow-unrelated-histories

因cocoaPods強制添加開源許可文件,在TRZX_Test工程目錄下創(chuàng)建FILE_LICENSE

echoMIT>FILE_LICENSE

創(chuàng)建podspec文件

podspeccreate TRZX_Test

執(zhí)行命令vim .TRZX_Test.podspec編輯podspec文件

0.s.summary

s.summary="Testing? TRZX_Test."

1.s.description 添加描述

s.description? = <<-DESCTestingPrivatePodspec.DESC

2.s.platform 最低支持iOS版本

# s.platform? ? = :ioss.platform? ? =:ios,"9.0"

3.s.homepage

s.homepage="https://github.com/TRZXDev/TRZX_Test"

4.s.license

#s.license="MIT (example)"s.license= { :type =>"MIT", :file =>"FILE_LICENSE"}

5.s.source

s.source? ? ? = { :git=>"https://github.com/TRZXDev/TRZX_Test.git", :tag=>"#{s.version}"}

6.s.source_files

s.source_files="CRProtocolManager","CRProtocolManager/**/*.{h,m}"

退出編輯執(zhí)行命令

編輯完podspec文件后,需要驗證一下這個文件是否可用,如果有任何WARNING或者ERROR都是不可以的,它就不能被添加到Spec Repo中,不過xcode的WARNING是可以存在的,驗證需要執(zhí)行一下命令

podliblint

當(dāng)你看到

屏幕快照 2017-01-17 14.34.50.png

時,說明驗證通過了,不過這只是這個podspec文件是合格的,不一定說明這個Pod是可以用的,我們需要在本地做一下驗證

把剛才的修改Add到本地

gitadd.git commit -m'編輯.podspec'

添加tag 一定要和podspec中的version一致

gittag0.0.1

把剛才添加的tag提交上去

git push originmaster--tags

屏幕快照 2017-01-17 14.28.28.png

把TRZX_Test項目添加到準(zhǔn)備工作中的私有源倉庫TRZX_Repositories

pod repopushTRZX_Repositories TRZX_Test.podspec --verbose--allow-warnings

執(zhí)行成功后

pod search TRZX_Test應(yīng)該就能搜索到了

如果發(fā)現(xiàn)搜索不到剛才的組件

rm ~/Library/Caches/CocoaPods/search_index.json

然后在進(jìn)行搜索就可以搜索到了

注意

此時由于你當(dāng)前工程B依賴的工程是私有庫,于是會報錯:

- ERROR | [iOS]unknown: Encountered anunknownerror

pod sepc lint 文件名.podspec --sources='http://[privateLibName]/cocoaspecs.git,https://github.com/CocoaPods/Specs.git'

報錯 ···

error:include of non-modular header inside framework module ··· [-Werror,-Wnon-modular-include-in-framework-module]

解決辦法:在pod lib lint 或者 pod spec lint 以及 pod repo push ....時候加上 --use-libraries

podliblint--use-libraries#或者pod spec lint --use-libraries#當(dāng)然,在提交的時候也要加上pod repo push --use-libraries#或者pod repo push TRZX_Repositories TRZX_Test.podspec --verbose --allow-warnings --use-libraries

最后編輯于
?著作權(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)容