1. 程式人生 > >釋出自己程式碼到CocoaPods上時碰到的坑,驗證釋出問題,podspec檔案編寫問題等

釋出自己程式碼到CocoaPods上時碰到的坑,驗證釋出問題,podspec檔案編寫問題等

CocoaPods的使用

將自己的程式碼上傳到CocoaPods上作為第三方使用

在研究過程中,雖然百度了很多教程,但還是有一些坑不可避免的要踩,但又沒有具體說明,這裡把我碰到記錄一下,主要有目錄的結構如何構成,podspec檔案如何編寫(其實這個檔案可以找一些成熟的三方庫,將他們的檔案改改就可),驗證釋出不通過的問題。
基本教程網上與很多,就不具體的說明了。

目錄結構:

git倉庫目錄

LICENSE
XXXXXXX
XXXXXXX.podspec
README.md
Example

LICENSE:開源許可證,這裡使用的是github自動建立的
XXXXXXX:開源框架需要包含的原始檔目錄,
xxxxxxx.podspec:.podspec檔案的作用是為了讓CocoaPods搜尋引擎知道該程式碼的作者、版本號、概要、描述、原始碼地址、部署版本、依賴的框架等描述資訊。
README.md:在github上建立時自帶的說明檔案,可有可無
Example:示例工程,可有可無

建立.podspec檔案,使用pod spec create xxxx

命令建立.podspec檔案

.podspec檔案說明

Pod::Spec.new do |s|
s.name = “MAFShareTool”開源框架在CocoaPods上可以搜尋到的名稱
s.version = “0.1.3”開源框架的版本
s.summary = “常用分享封裝”簡單描述
s.description = <<-DESC
對騰訊,微信,微博常用分享的簡單封裝
DESC詳細描述
s.homepage = “https://github.com/LDeath/ShareTool個人首頁
s.license = { :type => “MIT”, :file => “LICENSE” }開源許可證的指定


s.author = { “xx” => “[email protected]”}作者描述
s.ios.deployment_target = “7.0”支援的ios版本
s.source = { :git => “https://github.com/LDeath/ShareTool.git“, :tag => s.version }專案的地址
s.source_files = ‘MAFShareTool//.{h,m}’需要包含的原始檔
s.resource = ‘MAFShareTool/Tencent/TencentOpenApi_IOS_Bundle.bundle’若包含其他依賴的資原始檔可這樣填寫

s.ios.vendored_frameworks = ‘MAFShareTool/Tencent/TencentOpenAPI.framework’若包含其他依賴的庫檔案可這樣填寫
s.frameworks = ‘UIKit’,’Foundation’,’Security’,’SystemConfiguration’,’CoreGraphics’,’CoreTelephony’依賴的系統庫
s.libraries = ‘z’,’stdc++’,’sqlite3’,’iconv’依賴的系統
s.dependency ‘WechatOpenSDK’依賴的第三方庫
s.dependency ‘WeiboSDK’多個時分開填寫
end
## 釋出到CocoaPods
重點來了,釋出到CocoaPods需要通過驗證才可以釋出,在驗證釋出時碰到很多坑,由於不是當時寫的這篇文章,具體情況忘記怎麼樣了:

但是在驗證檔案時總是會不通過,然後百度後加上了一些引數–verbose –use-libraries –allow-warnings,這樣可以看驗證時報的錯誤和警告,把錯誤處理一下,然後警告不影響驗證,處不處理都無所謂,就可以通過驗證了了。
使用pod spec lint xxxxxx.podspec --verbose --use-libraries --allow-warnings命令來驗證.podspec檔案
--verbose顯示驗證時的詳細資訊 --use-libraries依賴庫(s.dependency)包含了.a靜態庫會造成一些錯誤,雖然不影響Pod的使用,但是驗證會不通過,使用此命令來讓驗證通過 --allow-warnings使用該命令來允許警告出現

在驗證通過後,不要再使用普通命令來發布了,要跟在驗證時的命令對應起來,即驗證時使用的社麼命令引數,在釋出時也要加上,這樣只要驗證通過,一般都可成功釋出到CocoaPods上了。
驗證通過後使用pod trunk push xxxxxx.podspec --verbose --use-libraries --allow-warnings命令來發布到CocoaPods

釋出成功後,通過pod search xxxx但是並有搜到是什麼原因呢:
這時需要更新你的本地倉庫,將你釋出到CocoaPods上的框架拉到本地倉庫中即可搜到並正常使用了。

相關推薦

釋出自己程式碼CocoaPods碰到的驗證釋出問題podspec檔案編寫問題

CocoaPods的使用 將自己的程式碼上傳到CocoaPods上作為第三方使用 在研究過程中,雖然百度了很多教程,但還是有一些坑不可避免的要踩,但又沒有具體說明,這裡把我碰到記錄一下,主要有目錄的結構如何構成,podspec檔案如何編寫(其實這個檔案可

【faster-rcnn】訓練自己的資料集

既然faster-rcnn原版發表時候是matlab版程式碼,那就用matlab版程式碼吧!不過遇到的坑挺多的,不知道python版會不會好一點。 ======= update ========= 總體上包括這些步驟,請注意檢查: 1 獲取資料;(標準資料集/比賽資料/自行收集資料) 2 整理圖片名和標註資

iOS之旅--釋出自己CocoaPods庫(元件化開發第一步)

從去年的Dev大會上就開始慢慢接觸瞭解元件化,但是沒有實際的專案可以操作,擱淺至今,中間也嘗試性的試驗過,現在來一個總結。 1、思考 抽取專案中獨立的程式碼,作為模組與整體專案分開。首先我能想到的網路庫、工具類、封裝好的一些控制元件,涉及業務的由於業務有

linux下編譯自己的靜態庫依賴其他的動態庫使用時出現“undefined reference to”

        對於我這個剛入IT行業不就得新手來說,在linux下連結庫的時候總是會遇到各種各樣奇葩的問題,最多的就是“undefined reference to”和“cannot find”這兩類,層出不窮,總是在我即將完成工作的時候給我當頭一棒,讓我欲罷不能。這不,這

MFC實現當滑鼠移動到button按鈕是顯示一張圖片移開顯示另外一張點選是顯示另外一張

程式設計中,經常要用到按鈕控制元件,大部分情況下,文字按鈕就OK了,但有時為了更好的效果,需要用到圖形按鈕。 在MFC中,應用CBitmapButton就可以實現圖形按鈕。CBitmapButton類繼承自CButton類。你可以為圖形按鈕指定四張圖片,分別對應按鈕的四種

Rancher釋出K3s!史最輕量K8s發行版賦能邊緣計算

史上最輕量的開源Kubernetes發行版——K3s來了!滿足Kubernetes

jdom或dom4j讀取xml檔案如何讓dtd驗證使用本地dtd檔案或者不生效

一、寫在所有之前: 因為dom4j和jdom在這個問題上處理的方法是一模一樣的,只是一個是SAXBuilder 一個SAXReader,這裡以jdom距離,至於dom4j只需要同理替換一下就可以了。 二、問題發生的情況 當你用jdom讀取一個有 dtd驗證的xml檔案,同時

jdom 或 dom4j讀取xml檔案如何讓dtd驗證使用本地dtd檔案或者不生效

一、寫在所有之前:因為dom4j和jdom在這個問題上處理的方法是一模一樣的,只是一個是SAXBuilder 一個SAXReader,這裡以jdom距離,至於dom4j只需要同理替換一下就可以了。二、問題發生的情況當你用jdom讀取一個有dtd驗證的xml檔案,同時你的網路是

微信小程式程式碼稽核釋出小程式

1.開啟微信開發者工具 管理員掃碼 -> 填寫好小程式的專案目錄、AppID(必須是客戶已註冊好的AppID)、專案名稱 2.在app.js中修改id(客戶登入後臺管理系統的id),app.json中修改頁面導航欄標題navigationBarTitleText

前端入(五)--------react(react 可以在自己的 機器開發 )

Hey there, Up until now we’ve been using CodeSandbox to write our projects. It’s a great tool, easy to use… but sometimes writing apps in

自己的電腦搭建伺服器釋出自己的網站(學習之用)

我們平常學習時經常會寫一下javaweb程式,我們為了更能逼近現實,就想著自己的javaweb程式釋出後,外網的同學能夠訪問我們的網站,難道我們去買空間,去買域名嘛,其實也沒必要,我們只是學習,測試之用,在自己的電腦上搭建一個伺服器完全可以滿足要求。上次寫的一篇部落格,PC服務端與Andro

自己的SDK傳到GitHub並用cocoapods管理

大體分為三個步驟吧: 1.github上建立一個sdk專案 2.專案最好只是cocoapods(這一步可有可無) 3.編輯*.podspec檔案 下面每個步驟詳細來說下: 1.github上建立一個sd

Mask R-CNN訓練自己的資料集在win10的踩全過程:CUDA9.0+CUDNN7.1.4+Tensorflow-gpu1.9.0+keras-gpu2.2.4

基礎配置 首先你需要在win10上下載Git(用於我們在github上面下載原始碼)和MinGW(方便我們在win10上也能用linux的make操作命令)。 接著你要下載cuda9.0和cudnn7.1來繫結你的windows的Nvidia 接著你需要在win10上面安裝an

【keep_moving_cqu的專欄】每天晚上疲勞的睡在床上時,才感覺真真切切地過了一天。人生最重要的不僅是努力還有方向。壓力不是有人比你努力而是比你牛叉幾倍的人依然比你努力。即使看不到希望也依然相信,自己錯不了,自己選的人生錯不了

每天晚上疲勞的睡在床上時,才感覺真真切切地過了一天。人生最重要的不僅是努力,還有方向。壓力不是有人比你努力,而是比你牛叉幾倍的人依然比你努力。即使看不到希望,也依然相信,自己錯不了,自己選的人生錯不了...

自己程式碼整理成cocoapods管理

專案元件化管理,使用cocoapods管理,將程式碼分離,將專案模組化 一、  上傳專案原始碼 把專案原始碼上傳到gitHub倉庫再clone到本地(以iOS_Category為例--原始碼在這裡), 如果專案本來就在gitHub的倉庫中, 直接clone到本地即可

Unity開發Oculus Rift應用時打包釋出遇到的一些

下面本小白先簡單介紹一下如何用Unity製作一個簡單的Oculus VR的demo。1.下載安裝啟動並登陸Oculus客戶端,並連線裝置  下載地址 https://www.oculus.com/setup/  (需自備梯子) 2.新建Unity工程 3.File→Bu

lunix或者centos伺服器下如何下載自己在github面的專案程式碼

一、通過git下載 1、若電腦未安裝git,需先安裝git 檢視系統是否已經安裝git git --version 2、CentOS7 yum 安裝git yum install -y git 解除安裝git yum remove git 3、從github

CocoaPods建立自己iOS程式的依賴管理

一、github上建立開源專案 GitHub是目前使用最廣的分散式專案管理軟體。下面是如何從零開始,將自己的專案放到GitHub上面,並能夠像SVN那般update和commit。 2、按照的指引

CocoaPods製作自己的庫

CocoaPads作為管理第三方庫的神器,有時候自己寫的好的庫也希望,放在上面去,不敢說給別人用,讓別人喜歡,最起碼自己熟悉,下次自己倒進來就能用,也有也有人喜歡把那些庫打成.a的包,這樣也可以。只要你喜歡隨便嘍。我是覺得打包成.a不太方便版本管理,不太方便升級

自己的電腦搭建伺服器釋出自己的網站

我們平常學習時經常會寫一下javaweb程式,我們為了更能逼近現實,就想著自己的javaweb程式釋出後,外網的同學能夠訪問我們的網站,難道我們去買空間,去買域名嘛,其實也沒必要,我們只是學習,測試之用,在自己的電腦上搭建一個伺服器完全可以滿足要求。上次寫的一篇部落格,PC服