cocoapods是乙個負責管理ios專案中第三方開源庫的工具。cocoapods的專案原始碼在github上管理。該專案開始於2023年8月12日,在這兩年多的時間裡,它持續保持活躍更新。開發ios專案不可避免地要使用第三方開源庫,cocoapods的出現使得我們可以節省設定和更新第三方開源庫的時間,在ios開發中經常會用到第三方庫如afnetworking,asihttprequest等,在使用第三方庫時,你除了要導數原始碼外,但是,整合這些依賴庫需要我們手動去配置,還有當這些第三方庫發生了更新,還需要手動去更新專案。這就顯得非常麻煩。有麻煩自然有解決辦法,cocoapods就是為了解決這個問題而生的。通過cocoapods,我們可以將第三方的依賴庫統一管理起來,配置和更新只需要通過簡單的幾行命令即可完成。
mac系統已經預設安裝好ruby環境,如果你不確定自己系統中是否有ruby的,可以在終端中輸入命令列:ruby -v檢視當前ruby版本。如圖:
sudo gem install cocoapods
但是,在終端中敲入這個命令之後,會發現半天沒有任何反應。原因是那堵牆阻擋了cocoapods.org。
解決辦法是,我們可以用阿里雲的ruby映象來訪問cocoapods。按照下面的順序在終端中敲入依次敲入命令:
首先,檢查你的ruby源:
$gem sources -l預設情況下,終端應該返回如下資訊:
*** current sources ***當然這個源在牆內是訪問不到的。因此我們需要尋找乙個可以在國內訪問到的映象。目前筆者找到的是這個阿里雲的映象,當然隨著時間的推移,未來這個映象也有可能無法訪問了,到時候就只能重新尋找了。
確認映象可用後,現在就要開始修改ruby源了。首先執行以下命令刪除原來的ruby源:
$gem sources --remove執行命令後可在終端看見以下資訊:
removed from sources然後下一步新增你找到的可用的映象源:
$gem sources -a此時如果你再執行gem sources -l命令,就能看到當前映象源裡只有阿里雲這乙個了。此時你就可以重新執行這一段開頭的那句命令了:
$sudo gem install cocoapods如果一切正常,你應該能看到一段安裝進度,以及最後有一條資訊:
3 gems installed確認看見這條資訊,後先判斷的cocoapods是否可以使用,可以用cocoapods的搜尋功能驗證一下。在終端中輸入:
pod search afnetworking;
執行後可能會一直停在
setting up cocoapods master repo然後(很久)會出現如下錯誤:
解決辦法是:
$ pod setup
過一段時間之後,你會在終端中看到跟上面同樣的紅色的錯誤資訊。
這說明某些環境原因導致pod更新不了,可能原因有,1)gem版本太低;2)github無法鏈結;3).cocoapods目錄下的配置資訊錯誤。我們可以乙個乙個來排除,
首先更新gem到最新版本,在終端中輸入:
$ sudo gem update --system
然後檢查是否可以ping通github,在終端中輸入:
$ ping github.com
然後檢視pob repo list:
$ pod repo list
cd 到該目錄裡,用du -sh *命令來檢視檔案大小,結果顯示0 repos,說明沒有安裝成功;
在終端輸入:
cd ~/.cocoapods
進入cocoapods檔案後在終端輸入:du -sh *
重新執行pod setup,過一段時間後提示setup completed,在終端中輸入 pod list,展示出安裝列表;
這樣總算安裝好了。接下來再一次輸入:
pod search afnetworking
輸入過後它可能會報:
[!] unable to find a pod with name, author, summary, or descriptionmatching `afnetworking`
解決方案是:
輸入:rm ~/library/caches/cocoapods/search_index.json
後在一次輸入:pod search afnetworking
就可以咯。
首先來到你的專案檔案:
cd 專案檔案的位置
然後,新增乙個podfile檔案: vim podfile
然後按i進入插入模式,進行編輯,在檔案中輸入以下內容:
platform :ios, '8.1'platform :ios, '8.0'pod 'afnetworking', '~> 2.0'
它會報:[!] the dependency `afnetworking (~> 3.0)` is not used in any concrete target.
現在版本公升級官方給的文件是:
target '你的專案名稱' do
pod 'afnetworking', '~> 3.0'
end注意:'你的專案名稱'是你專案檔案中'xx.xcodeproj'檔案,'xx.xcodeproj'去掉字尾名所得的『xx』==(就是)『你的專案名稱』
輸入完成後按esc退出編輯模式,最後輸入:wq儲存並退出檔案。此時可以發現在專案目錄下多了乙個podfile的檔案,請注意這個檔案必須與.xcodeproj在同一目錄下。
最後:pod install
沒報錯就可以了。
oom問題解決
dalvik虛擬機會為應用程式分配固定大小的heap 如果使用超過了這個heap的大小,且沒有可被 物件,就會報oom。多張較大會迅速占用空間造成oom。我們可以使用一下的方法來減少這種情況的產生 1.減少單張的大小,根據螢幕大小來對bitmap做resize。private void setima...
too many open files問題解決辦法
今天用 往liunx中寫檔案,檔案很多 執行一會就日誌上就報錯 too many open files 結果找了半天才解決這個問題,現在給大家分享一下。首先用 ulimit a 命令看看linux的open files值是多少,結果乙隻有1024,不夠用的。然後修改linux的配置檔案,修改 etc...
haoop問題解決
1.namenode不能啟動 cannot lock storage tmp dfs name.the directory is already locked.上網查了查,基本上有兩個辦法 1.重新格式化namenode 2.許可權問題 chown r hadoop hadoop tmp dfs n...