1. 程式人生 > >製作cocoapods私有庫

製作cocoapods私有庫

podSpec中spec的全稱是“Specification”,說明書的意思。顧名思義,這是用來描述你這個私有pod的說明資訊的。 建立podSpec很簡單,只要建立一個以.podSpec為字尾的檔案即可,或者直接拷貝別人的進行修改也可以。 它的建立命令是:$pod spec create TestFile podspec檔案的常用配置欄位介紹 Pod::Spec.new do|s| 框架名字:框架名字一定要寫對,pod search "框架名"就是搜的這個 s.name         = "yoowei" 框架版本號   s.version      = "1.0.0" 框架簡介
  s.summary      = "yoowei框架" 框架的主頁 框架遵守的開源協議   s.license      = 'MIT' 框架的作者   s.author       = { "yoowei" => "yoowei@126.com" } 框架的資源路徑:路徑可以指向遠端程式碼庫,也可以指向本地專案,例如:                      1.指向遠端程式碼庫: { :git => "[email protected]:yoowei/yoowei.git", :tag => "1.0.0" }                      2.指向本地專案:    { :path => 'yoowei', }
  s.source       = { :git => "[email protected]:yoowei/yoowei.git", :tag => "1.0.0" } 框架被其他工程引入時,會匯入yoowei目錄下的.h和.m檔案   s.source_files = 'yoowei/**/*.{h,m}' 框架被其他工程引入時,會匯入yoowei/resource目錄下的資原始檔   s.resources    = { 'yoowei'=> ['yoowei/resource/**/*.{storyboard,xcassets,xib,png'] } 框架依賴的framework
  s.framework    = 'CoreData' 框架依賴的其他第三方庫   s.dependency 'MBProgressHUD' 框架是否需要支援ARC   s.requires_arc = true 框架支援的最低平臺版本   s.platform     = :ios'7.0' 框架公開的標頭檔案  s.public_header_files = 'yoowei/**/*.h' end 大型專案模組化管理 隨著iOS APP越來越複雜,功能越來越多,對於iOS專案的工程化要求也越來越高了,對於複雜的APP一般都需要對專案進行模組化管理。 模組化有幾個方式: 1. 目錄結構管理:這是最原始的方式,僅僅通過目錄結構實現程式碼層次的清晰化。但本質上並沒有解決程式碼之間的依賴混亂的情況,模組化劃分也非常不清晰。 2. 子工程:通過子工程可以實現程式碼依賴管理和模組化,但是需要引入複雜的設定,不利於管理。 3. 靜態庫:將依賴程式碼打包成為靜態庫.a,不過由於不能看到原始碼,除錯不方便。 自從有了CocoaPods,可以使用它來管理私有庫,從而實現了程式碼模組化管理。例如下圖所示:

CocoaPods私有庫

1. 建立私有的Specs git庫

  例如在github上面建立一個空的git庫:https://github.com/xxx/MySpecs   將這個git庫加入到CocoaPods庫的列表中: pod repo add MySpecs [email protected]:xxx/MySpecs.git   此時可以檢查下本地的pod repo <br class="Apple-interchange-newline">$ pod repo list<br><br>MySpecs - Type: git (master)- URL: [email protected]:xxx/MySpecs.git - Path: /Users/xxx/.cocoapods/repos/mySpecs master - Type: git (master) - URL: [email protected]:CocoaPods/Specs.git - Path: /Users/xxx/.cocoapods/repos/master   確定私有庫的Specs已經加到本地pod repo中。 

2. 在私有庫專案中建立podspec檔案

在私有庫專案中的根目錄,建立對應的podspec檔案,裡面會描述這個庫的基本資訊。 Pod::Spec.newdo|s| s.name         = "PodName" s.version      = "0.0.1" s.summary      = "A short description of PodName." s.license      = { :type=> "MIT":text=> <<-LICENSE Copyright © 2016年 xxx. All rights reserved. LICENSE } s.author       = { ""=> ""} s.source       = { :git=> "[email protected]:xxx/PodName.git":tag=> "0.0.1"} s.source_files = "**/*.{h,m,mm,c}" s.frameworks   = "Foundation""QuartzCore""UIKit""WebKit" s.libraries    = "z" s.dependency 'AFNetworking' s.ios.deployment_target = '6.0' end resource: 可以指定資原始檔,建議使用bundle以避免資原始檔產生衝突。 frameworks: 指定這個pod依賴的系統framework libraries: 指定這個pod依賴的系統動態庫。注意使用的名字:比如需要引用"libz.dylib", 那麼這裡只需要寫"z" 無論原始專案的目錄結構或者group結構,預設的pod裡面的程式碼都會平鋪在根目錄裡面 注意:SubSpecs之間不能存在相互依賴關係,只能單向依賴

3. 驗證私有庫的合法性

pod lib lint --sources='[email protected]:xxx/MySpecs.git'--verbose --use-libraries --allow-warnings sources引數可以指定私有庫的Pod Specs庫的地址。如果能夠通過,說明程式碼編譯沒有問題

4. 提交私有庫的版本資訊

git tag -m "first release""0.0.1" $ git push --tags     #推送tag到遠端倉庫

5. 向Spec Repo提交podspec

pod repo push MySpecs PodName.podspec --sources='[email protected]:xxx/MySpecs.git'--use-libraries --allow-warnings 這樣 就完成了一個CocoaPods的私有庫的提交了,別人就可以在Podfile裡面使用這個私有庫了。 製作Pods庫中的問題: 1、 對於子庫的設計方面 ,依賴關係不確定,後面會造成編譯不通過  2、Pods命令不熟悉,該加的命令引數沒有  Ex: --use-libraries,當元件中引入pods三方庫時,pod lib lint 要加上  --use-libraries 3、手動新增的一些三方庫可能引入時會有一定問題,建議採用pods引入過來

相關推薦

製作cocoapods私有

podSpec中spec的全稱是“Specification”,說明書的意思。顧名思義,這是用來描述你這個私有pod的說明資訊的。 建立podSpec很簡單,只要建立一個以.podSpec為字尾的檔案即可,或者直接拷貝別人的進行修改也可以。 它的建立命令是:$po

3-cocoaPods私有制作

create lint 執行 install 是否 們的 系統 assets push CocoaPods 私有庫制作方式一1. 新建私有git庫 可以gitlab,也可以github,當然github是公共的,私有的得交費。 2. 創建工程 可以使用pod命令來自動創建

組件化開發3-cocoaPods私有制作

分支 tag net 測試工程 如果 tool 輸入 git Coding 一、創建索引項目ZHMCSSpec 1-1 在代碼托管網站上建立索引項目ZHMCSSpec(以這個名稱為例)   1-2 在本地創建ZHMCSSpec,並與遠程索引建立聯系    po

iOS CocoaPods私有

級別: ★★☆☆☆ 標籤:「iOS」「CocoaPods」「私有庫」 作者: 憶思夢 審校: QiShare團隊 先說下CocoaPods拉取開源庫的原理: CocoaPods 有一個開源的索引倉庫Specs,倉庫存放著所有開源庫的各個版本的.podspec檔案,.podspec檔案包含中記錄著

CocoaPods 私有 實現元件化

先說下CocoaPods拉取開源庫的原理: 我們知道 CocoaPods 有一個開源的索引倉庫[Specs](https://github.com/CocoaPods/Specs),倉庫存放著所有開源庫的各個版本的`.podspec`檔案,`.podspec`檔案包含中記錄

用svn伺服器建立CocoaPods私有的注意點

   之前寫了用svn伺服器實現CocoaPods建立私有庫的基本操作,後來在個人實踐中遇到一些問題,這裡重點來討論下svn伺服器建立私有庫與git伺服器的區別,還有svn伺服器上出現一些問題的解決方案。下面我們首先來看下兩者的區別:   1.區別:     當公司的程式碼

新增Cocoapods私有

給庫新增Cocoapods支援, 使這個工具使用起來更加方便, 更好的使用Cocoapods, 助力iOS程式開發, 下面進入正題, 想要實現這個過程, 絕對不虛此讀. 首先寫好一個要新增Cocoapods支援的庫  這是我第一個新增Cocoapods支援的工具iOS

製作cocoapods第三方

建立倉庫 克隆到本地,建立專案到倉庫 建立描述檔案 GWLPodTest.podspes pod spec cr

元件化pod製作私有製作

私有podspec製作步驟:   元件化方案一般都是採用私有podspec 1、建立私有Spec Repo Spe

iOS元件化開篇(Cocoapods遠端和本地私有製作

目錄 Git基本操作 Cocoapods釋出自己的框架 1.安裝cocoapods 2.使用cocoapods 3.cocoapods釋出自己的框架 Cocoapods本地私有庫 前言 自己的工具庫和框架以前都是直接在模組裡面操作的,沒有做成私有化或者coco

製作自己的私有釋出到cocoapods

這裡以YWChooseAddressView為例 1、提交code到git倉庫中,並打上tag版本號 注意,如果是用git工具提交的demo,可直接在github上去釋出realese版本 git tag -a 1.0.0 git push origin master 先看看我的目錄結構(包含測試demo、

Cocoapods建立私有——初級版

一、 首先簡單瞭解下cocoapods的機制 cocoapods有個遠端索引庫,索引庫下放著框架的描述資訊:框架的名稱,框架的版本號,框架的描述檔案(.spec),開發者上傳的程式碼都是位於索引庫的遠端地址下。當你進行pod初始化(pod setup)時,會把遠端索引庫下載到本地,即生成一個

元件化開發之私有製作以及常見問題

前言:這篇文章主要描述私有庫的製作過程以及本人在使用過程中的一些問題和解決方案,提到元件化就不得不想到pods私有庫相關的東西(當然元件化不侷限於結合私有庫使用,還可以做成靜態庫或者多target開發等方式,這裡只講解私有庫相關的東西,稍後會出一篇元件化結合私有庫實現元件化開發的方式) 私有

建立私有cocoapods repo —— Private Pods

CocoaPods不僅是一個將開原始碼新增到專案的很棒的工具,同時也可以做到跨專案分享元件。你使用一個私有的Spec Repo就能做到這些。 只需要幾個簡單步驟就能給你的專案做好一個私有的pods設定:首先為這些pods建立一個程式碼倉庫,然後讓Cocoa

【iOS】利用CocoaPods建立私有進行元件化開發

之前使用CocoaPods管理過第三方庫,前面也有翻譯文章介紹過CocoaPods的配置方法,隨著專案越來越大,很多公司會使用CocoaPods進行元件化開發,下面利用一個demo介紹一下。 什麼是庫 先說下什麼是庫,庫分為靜態庫和動態庫兩種: - 1

iOS程式碼元件化(利用CocoaPods建立私有

前言,最近因為工作需求,研究了一下程式碼元件化,中間遇到了很多問題,下面就把結合網上的一些文章和自己的實際操作,梳理一下操作流程,希望能幫到有需要的朋友,中間有需要改正的地方請指正。 一、遠端索引庫 什麼是遠端索引庫? 每建立一個元件都會帶有一

Cocoapods使用私有中遇到的坑

以前使用Cocoapods時候就是簡單的建立Podfile,然後執行pod install就完事。最近臨近過年了空閒時間比較多就琢磨把專案中複用比較多的程式碼抽取出來然後用Cocoapods管理,算是邁開專案元件化的第一步。途中遇到若干坑,這裡就總結下方便自己日後檢視。 1.pod lib lint 和

CocoaPods製作自己的

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

cocoapods應用第二部分-私有相關

我們在這裡,使用的是 第一部分使用pod lib create YohunlUtilsPod 建立的framework工程來說明.其建立過程在此就不重複了,當然你也可以下載我已經建立好的demo https://github.com/yohunl/YohunlUti

【IOS學習】CocoaPods安裝使用及配置私有

如何安裝? 1.安裝ruby環境,新增淘寶ruby映象 $ gem sources --remove https://rubygems.org/ //等有反應之後再敲入以下命令 $ gem sources -a http://ruby.taobao.org/ 2