IOS 開發學習十八 包管理工具 CocoaPods的使用
一、簡介
開發IOS應用時,經常會用到一些第三方開源類庫,如JSONKit、AFNetWorking、QRCode等。一個類庫可能還會引用其它類庫。手動去一個個載入就顯得比較麻煩。而CocoaPods就是用來解決類庫引用問題的,它類似於PHP上的Composer、JAVA上的Maven,也許與Linux平臺的apt-get命令也有相似之處。 官網地址: https://cocoapods.org二、安裝
CocoaPods需要先安裝好Ruby環境,預設應該是已經安裝的,這裡不再介紹Ruby安裝方式,直接介紹CocoaPods安裝。 命令列輸入如果輸入密碼後很長時間沒有反應,或提示無法找到,可能地址被牆了,那要先輸入:sudo gem install cocoapods
gem sources --remove https://rubygems.org/
//等有反應之後再敲入以下命令
gem sources -a https://gems.ruby-china.org/
gem sources -l
把映象改為國內的映象。
這時介面輸出:
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
再執行安裝命令。 如果提示: Unable to resolve dependencies:cocoapods requires cocoapods-core(=0.35.0),... 則先執行:
如果再提示: ERROR: While executing gem... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj 則執行:sudo gem update --system
sudo gem install -n /usr/local/bin cocoapods
安裝完後執行
pod install 命令 ----安裝倉庫。
也可以通過外掛安裝:(未測試)
三、ionic專案新增CocoaPods支援
1. 使用xcode開啟專案 2. 編輯文字vim Podfile
# Uncomment this line to define a global platform for your project
platform :ios, '7.0'
target 'Demo' do
pod 'AFNetworking', '~> 2.0'
pod 'JSONModel', '~> 1.1.2'
pod ' [email protected]', '~> 0.0.4'
end
target 'DemoTests' do
end
然後命令列執行:pod install --verbose --no-repo-update
四、使用示例
1.專案裡引用QRCode 首先驗證QRCode是否支援CocoaPodspod search QRCodeReaderViewController
輸出:
-> QRCodeReaderViewController (3.4.0)
Simple QRCode reader for iOS 7 and over
pod 'QRCodeReaderViewController', '~> 3.4.0'
- Homepage: https://github.com/YannickL/QRCodeReaderViewController
- Source: https://github.com/yannickl/QRCodeReaderViewController.git
- Versions: 3.4.0, 3.3.0, 3.2.3, 3.2.2, 3.2.1, 3.2.0, 3.1.0, 3.0.0, 2.0.0,
1.0.1, 1.0.0 [master repo]
到專案的.xcodeproj目錄,建立Podfile檔案:
touch Podfile
vim Podfile
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
pod 'QRCodeReaderViewController', '~> 3.4.0'
儲存後,輸入命令:
pod install
安裝完成後,輸入命令:
open MyProject.xcworkspace
開啟專案,不要用.xcodeproj開啟專案。
以後需要升級使用的開源庫時,只需要輸入:
pod update
即可自動完成更新。四 刪除類庫
1.刪除Poads裡的類庫資料夾 2.把Podfile裡刪除對應行 3.重新執行pod install命令。五 其它命令
有時經常卡住,可能要這樣清理一下。如果xcode升級,這裡有時也要這麼操作一下:
pod repo remove master --刪除主倉庫
pod setup --重建安裝
pod install
跳過更新倉庫的操作直接安裝類庫
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
方法2:
執行:rm -rf ~/.cocoapods/repos/masterpod repo remove masterpods install --verbose
可以看到下載提示。
確認是否在執行:
cd ~/.cocoapods
du -sh
看值一直在變大,就是正在下載。
方法3:
下載安裝github desktop登陸github,把專案https://github.com/CocoaPods/Specs fork到自己的github賬戶下開啟github desktop , clone Specs到本地電腦改名為master,放到~/.cocoapods/repos/master其它問題處理:
執行pod install時
提示An error occurred while processing the post-install hook of the Podfile.undefined method `project` for #<Pod::Installer:0x007ffa309af2e0> 處理方法: 開啟Podfile,把裡面的 project 改為 pods_project不支援i386
工程在模擬器上編譯報錯,不支援i386,Cocoapods確實還不支援64位模擬器,解決辦法:
方法1:
1.build active architecture only 在debug的時候設定成YES,不要在release的時候用模擬器
2.other linker flags 加一個 $(inherited)
pods root也可能需要設定為$(inherited)
方法2:(未測試)
點選專案檔案 project.xcodeproj,右鍵`顯示包內容`,用文字編輯器開啟`project.pbxproj`,刪除`OTHER_LDFLAGS`的地方,儲存,回到 Xcode,編譯通過。需要對第三方庫修改
先把git fork到自己賬號下,然後編輯Podfile:
platform :ios, '7.0'
pod '要匯入的庫', :git => 'https://github.com/我的github/要匯入的庫'
Xcode 提示Pod錯誤
diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
1.關閉Xcode,重新執行pod install,之後再重新開啟Xcode執行。
2.刪除一下檔案
xcworkspace
Podfile.lock
Pods資料夾
~/Library/Developer/Xcode/DerivedData路徑下對應工程的資料夾
然後重新執行pod install
3.如果以上都不行 檢查Project->選擇Info tab->看看Configurations是不是被設定為 None了,如果是None的話改為Pods4.右鍵工程根目錄下的xxx.xcodeproj檔案,顯示包內容
雙擊開啟project.pbxproj檔案查詢"Pods-resources.sh", 把路徑改為如下紅框處:
解決方案參考:http://www.jianshu.com/p/4c3164fe552a
相關推薦
IOS 開發學習十八 包管理工具 CocoaPods的使用
一、簡介 開發IOS應用時,經常會用到一些第三方開源類庫,如JSONKit、AFNetWorking、QRCode等。一個類庫可能還會引用其它類庫。手動去一個個載入就顯得比較麻煩。而CocoaPods就是用來解決類庫引用問題的,它類似於PHP上的Composer、JAVA上
iOS包管理工具Cocoapods的安裝與使用
data == 鏡像 tracking libtool 們的 install 包管理 問題解決 在我們開發移動應用的時候,一般都會使用到第三方工具,而因為第三方類庫的種類繁多,我們在項目中進行管理也會相對麻煩,所以此時我們就須要一個包管理工具。在iOS開發中
IOS開發學習筆記八 圖片瀏覽器
首先是效果圖:demo下載 把圖片素材放入Assets.xcassets 建立plist檔案(本質是xml檔案) 介面的搭建,按照頁面佈局拖拽新增控制元件 ViewController具體程式碼
IOS 開發學習十二 Bundle使用及檔案引用
1.在xcode外建立一個資料夾,命令為app.bundle(必須為.bundle副檔名) 以後開啟此資料夾,要滑鼠右鍵-顯示包內容,直接雙擊不行。 2.加到xcode專案裡 3.程式碼獲取裡面檔案路徑: 資源路徑: NSString *bundlePath = [[NS
Python學習筆記(十二)—Python3中pip包管理工具的安裝
1、什麼是pip? 簡單來說pip就是Python的一個包管理工具,可以對第三方的包進行管理操作,例如,安裝、解除安裝、檢查更新、檢視包資訊等等。 2、安裝pip 安裝pip之前,首先要保證已經安裝了Python開發環境。還是老規矩,仍
【ios開發學習】Cocoa 新的依賴管理工具:Carthage
說到 iOS 的依賴管理工具,大家一定首先想到的是 CocoaPods ,不錯,CocoaPods 確實是一個很好依賴管理工具,已然成為了 Cocoa 依賴管理的標準,豐富的支援庫、文件等等,CocoaPods 相關的文章有很多,這裡就不一一贅述了。 今天要介紹的是一款新的依賴管理工具,名曰 “Cart
Linux 入門記錄:二十、Linux 包管理工具 YUM
倉庫 清理 bug entos 需要 tro eat 參數 基於組 一、YUM(Yellowdog Updater, Modified) 1. yum 簡介 RPM 軟件包形式管理軟件雖然方便,但是需要手動解決軟件包的依賴問題。很多時候安裝一個軟件首先需要安裝 1 個或
Maven學習(十八)-----Maven依賴管理
oca 子項目 sta stage clu padding 類型 type 核心 其中一個Maven的核心特征是依賴管理。管理依賴關系變得困難的任務一旦我們處理多模塊項目(包含數百個模塊/子項目)。 Maven提供了一個高程度的控制來管理這樣的場景。 傳遞依賴發現 這是很通
Linux學習(五)軟體安裝與包管理工具
一、使用RPM管理 telnet-server 軟體包 1.RPM軟體包管理工具 RPM(Red Hat Package Manager)小紅帽軟體包管理工具,常用於軟體包的安裝、查詢、更新升級、校驗、解除安裝及生成.rpm格式的軟體包等操作。 注:RPM只能管理字尾.rpm的軟
IOS開發學習筆記十六 使用UITableView控制元件實現微博列表效果
效果:專案地址 微博列表唯一需要注意的是每個條目的列表行高不一致,需要在UITableView的代理方法heightForRowAtIndexPath中動態設定行高 需要建立Module物件CZMicroBlogFrame來儲存UITableCell的子View的
IOS開發學習筆記十五 為UITableView控制元件新增Header和Footer
效果圖:專案地址 新增圖片素材,新增plist檔案,新增名為CZGoods的module檔案 @implementation CZGoods - (instancetype)initWithDict:(NSDictionary *)dict { if
IOS開發學習筆記十四 UITableView控制元件實現ListView的效果
效果圖:專案地址 ViewController對應的程式碼: #import "ViewController.h" #import "CZHero.h" @interface ViewController () <UITableViewDataSource, UIT
IOS開發學習筆記十二 實現一個簡單的答題器
效果圖:專案地址 專案新增素材,新增plist檔案,並新增plist裡面的字典資料對應的model物件 module標頭檔案: #import <Foundation/Foundation.h> @interface CZQuestion :
IOS開發學習筆記十一 使用xlib檔案實現GridView的效果
效果圖: 在專案中資源素材檔案 新增plist檔案 新增名叫AFGridItem的model物件,用來代替我們從plist檔案中解析得到的字典資料,並新增通過字典獲取物件例項和初始化物件的方法。 #import <Foundation/Foun
IOS開發學習筆記十 使用程式碼實現GridView的效果
效果圖:專案地址 把圖片素材放入專案中,併為專案建立plist檔案,存放一個字典陣列,每個字典裡面對應存放這圖片素材名稱和GridView子條目的對應的文字描述。 新增NSArray *app的變數,使用懶載入的方式來讀取並儲存plist檔案的內容 在Vie
iOS開發-類庫管理工具CocoaPods
CocoaPods是iOS最常用的類庫管理工具。 如何下載和安裝CocoaPods? 在安裝CocoaPods之前,首先要在本地安裝好Ruby環境。 在Terminator(終端)中輸入以下命令: s
Golang學習筆記之依賴包管理工具gvt
一、gvt概念 gvt全稱為Go vendoring tool,可譯為Go供應工具,或者意譯為Go依賴包依賴包工具,whatever~~,簡單來說就是可以方便的獲取、更新、刪除專案所依賴的工具包,這個特性在Go1.5之前並不支援,1.5版本中需要設定GO15VENDOREX
【iOS-Cocos2d遊戲開發之十八】解決滾屏背景/拼接地圖有黑邊(縫隙)/動畫播放出現毛邊以及禁止遊戲中自動鎖屏問題!【2011年12月18日補充】
原創,轉載務必在明顯處註明:轉載自 原文連結: http://www.himigame.com/iphone-cocos2d/507.html 本章節主要為大家介紹在遊戲開發過程中經常遇到的兩個問題; 1. 解決滾屏背景或拼接地圖有黑邊! 對於遊戲開
《Microsoft SQL Server 2008 Analysis Services Step by Step》學習筆記十八:管理部署
導讀:本文介紹Analysis Services的部署方式和部署機制 。 本文將包括以下內容: ■1、使用BIDS部署Anylysis services 資料庫 ■2、建立XMLA指令碼部署Anylysis services 資料庫 ■3、針對Anylysis services 資料庫伺服器上執行部署
獻給初學iOS的小盆友們——微博app專案開發之十八搭建傳送微博介面(下)
今天應該是這個專案最後一次更新啦,能堅持下來的小盆友真是棒棒噠。這節課我們將會完成傳送有圖片的微博,實現微博最後一個核心功能。因為微博的功能實在太多太多了,我們不可能把微博的每個功能都一一實現。小夥伴能從中學到最精髓的東西才是最主要的,萬變不離其宗,得到處理問題