編譯的時候會報標題的錯誤,想直接看標題的解決方式,則從第四條看起!!!前提cocoapods安裝成功哈~
最近換了新電腦,系統為macOS Big Sur 11.0.1,Xcode版本為12.2,在安裝完cocoapods以后,項目依然不能運行,因為嘗試時間較久,遇到的問題較多,最終找到原因並解決,過程中遇到的一些問題也做下記錄,方便以后自己參考,並深深的記住這次費時如此之久,靠着靈光一閃才解決的問題!!!因為是新電腦,所以可能需要從0說起,着急的可直接看后面第四條,僅供參考!!!
一、准備工作
1、安裝ruby:一種簡單快捷的面向對象(面向對象程序設計)的腳本語言。iMac電腦自帶ruby,此步可省略
查看ruby版本:ruby -v
2、安裝homebrew,一款軟件包管理工具,擁有安裝、卸載等功能,之所以安裝他是因為第三步出現了問題,需要安裝該軟件,才可以繼續,具體的錯誤和原因我也不記得了,該軟件裝了也並無壞處,以后也會用到的
xcode命令行工具:xcode-select --install
安裝homebrew:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
如果上面報錯,則輸入 git clone https://github.com/Homebrew/homebrew-core/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core --depth=1
如果繼續報錯
fatal: unable to access 'https://github.com/Homebrew/homebrew-core/': LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
則輸入brew doctor 即可進行安裝
3、安裝rvm,方便ruby環境進行管理,如升級或更換版本
curl -L get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
以上安裝失敗,報如下錯:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 194 100 194 0 0 162 0 0:00:01 0:00:01 --:--:-- 162
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
解決方法:先修改下host,再進行網絡請求
sudo vim /etc/hosts
在打開的文件中添加:199.232.28.133 raw.githubusercontent.com
再使用命令:curl -L get.rvm.io | bash -s stable
rvm的其他命令行:
查看rvm版本:rvm -v
卸載rvm:rvm implode
設置ruby的默認版本:rvm use 2.6.3 --default
列出ruby可安裝的版本信息:rvm list known
安裝某個版本的ruby:rvm install 2.6.3
二、更換ruby源
查看當前ruby源:gem sources -l
如果沒有源或是.org的源,則需要更換
先移除之前的源:gem sources --remove https://rubygems.org/
添加新的源:gem sources --add https://gems.ruby-china.com/
成功的話會顯示如下內容:

三、安裝cocoapods
1、10.11系統以后基本上都用該命令行安裝cocoapods:sudo gem install -n /usr/local/bin cocoapods
這一步完成后執行:pod setup
這一步本身需要很長時間,因為需要進行下載各庫,但我這里這一步分分鍾就好了,所以我懷疑沒安裝上
檢查是否安裝上了:pod repo
若里面有內容則代表安裝上了,返回0 repos則沒安裝上

也可以進入 ~/.cocoapods 文件查看repos中的文件里是否都有內容

如果是空的,代表庫沒有下載下來
解決方法:
1、安裝本地的
(1)將https://github.com/CocoaPods/Specs下載到本地,放入repos文件夾,但好像需要進行關聯,自行查詢吧,我這里網不成,就沒搞
(2)從原來項目中拷貝下來放到repos文件夾中(我采用的該方法)
(3)使用國內源安裝到本地
a、git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git
b、git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
c、git clone git@github.com:CocoaPods/Specs.git
安裝過程中出現了該錯誤,所以我用c的方法進行了安裝
Warning: Permanently added 'gitee.com,120.55.226.24' (ECDSA) to the list of known hosts
公鑰出問題了,所以重新生成公鑰
git config --global user.name "用戶名"
git config --global user.email "郵箱"
搜索~/.ssh,刪除其文件夾下的known_hosts文件
ssh-keygen -t rsa -C "郵箱"
然后應該再按下回車,會生成兩個文件,用記事本打開id_rsa.pub,復制里面的內容,再打開GitHub官網,登錄自己的賬號,在setting里有個ssh and gpg keys ,創建ssh,將內容添加進去,再進行clone就可以了
以上方法我都試過,相對來說c方法比較麻煩,但因為bug一直有,我一直處於刪除,重裝,刪除,重裝的狀態,但我的網又不好,所以就直接使用本地的了
如果出現了以下情況,代表網不好。。。換種方式吧

四、創建podfile文件,即標題中問題的最終解決方式
1、如果是已有Podfile文件的話,需要刪除,刪除的地方有三個,缺一不可
(1)這四個文件先要刪除

(2)打開.xcodeproj,刪除pod

(3)target中的general中刪除對應的pod庫

2、刪除了以上內容后,重新創建podfile文件
文件路徑:cd 項目路徑
創建Podfile : touch Podfile
編輯Podfile : vi Podfile 注意:上面的源用的哪個,該文件中的第一行就用哪個源
編輯完成后退出 : :wq
安裝Podfile : pod install
3、安裝成功后,運行項目發現還是錯的,此時最關鍵的一步來了
如圖的路徑下

添加如下內容 VALID_ARCHS x86_64

這個路徑下也要添加對應的VALID_ARCHS
最后清空一下再運行,搞定!!!這時候項目就運行成功了,其實這是新的系統,新的xcode出現的一個不兼容的問題,涉及的是處理器的指令集不兼容的問題,新的xcode支持了x86_64,但pod庫中有些內容不支持,所以編譯時會一直報這個錯誤,關於指令集可以自行查閱了解
注意:此解決方式只針對於macOS Big Sur 11.0.1,Xcode版本為12.2的模擬器運行不成功的問題,真機測試時需要將添加的兩處valid_archs刪除掉,否則會報沒有權限的錯誤,如下圖,所以真機和模擬器運行時還需修改該處進行切換
注意:如果改了以后不起作用,就用萬能大法:重啟,模擬器重啟,xcode重啟,電腦重啟,哪個管用了就用哪個


或者是framework not found Pods_
或者是afnetworking.h not find之類的,反正意思基本就是pods沒有安裝上
以上是我這里遇到的問題,僅供參考,如果有更好的解決辦法,可一起探索,歡迎來提出更好的解決方式!!!