解決 CocoaPods trunk CDN 連接不上的問題


解決 CocoaPods trunk CDN 連接不上的問題


CocoaPods 自 1.8 版本開始默認使用 trunk CDN (https://cdn.cocoapods.org/) 作為 spec 的源,本意是非常好的,避免了需要本地 clone 一份龐大的 Specs 倉庫導(dǎo)致每次 update 都要全量更新的問題。然而不知為何國內(nèi)連 trunk CDN 都被限制訪問了。

常見的問題是 pod install 時報錯 CDN: trunk URL couldn't be downloaded 以及 pod repo updateCDN: trunk Repo update failed

以下是幾種解決方案。

安裝 CocoaPods

在執(zhí)行以下步驟之前,請確保已安裝 CocoaPods。

可執(zhí)行 pod --version 檢查是否有安裝 CocoaPods 并查看版本號。

安裝 CocoaPods:打開終端 Terminal,執(zhí)行:

sudo gem install cocoapods

請參閱 CocoaPods入門

注:若根據(jù)以上入門指引,因網(wǎng)絡(luò)問題無法下載安裝 CocoaPods,可考慮使用 Ruby Gems 鏡像源:

解決連接不上 trunk CDN 的問題

方案一:使用代理

不管是使用舊版 CocoaPods 還是使用鏡像源,都不是最優(yōu)解,為了充分使用 CocoaPods 的特性,最推薦的還是使用代理來解決無法連接 trunk CDN 的問題。

方案二:使用舊版 CocoaPods

1.7.5 版本的 CocoaPods 默認使用 Specs 作為 repo 源,可以卸載后重新安裝舊版 CocoaPods。

  • 卸載:
sudo gem uninstall cocoapods
  • 安裝 CocoaPods 1.7.5:
sudo gem install cocoapods -v 1.7.5

方案三:手動切換使用官方 Git 源 / 鏡像源

不推薦此方案,比較繁瑣。

  1. 檢查當前使用的源

    先執(zhí)行 pod repo list 查看本機的源有哪些,如果存在一個 master 源 (URL: https://github.com/CocoaPods/Specs.git) 以及一個 trunk 源 (URL: https://cdn.cocoapods.org/),則無需操作下面的第二步,可直接執(zhí)行 pod repo remove trunk 刪除 trunk CDN 源。

    若使用 1.9.1 或以上版本,應(yīng)該只存在一個 trunk CDN 源,此時需要手動添加 Git 源

  2. 添加源

  3. 執(zhí)行 pod repo update --verbose

  4. 在 iOS 項目根目錄下的 Podfile 文件里指定源

    若找不到 Podfile,請先 cd 進 iOS 項目的根目錄,執(zhí)行 pod init

    Podfile 的第一行添加一句 source https://xxxxx.git (其中的 URL 為上一步添加的源的 URL)

    例:使用清華源

    source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
    
    target 'MyProject' do
      use_frameworks!
    end
    

    如果沒有在 Podfile 里指定 source 的話,1.8 版本以上的 CocoaPods 會自動重新添加并使用 trunk CDN 源,因此每個項目的 Podfile 都需要顯式指定 source,非常麻煩。

?著作權(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)容