問題描述
我出現的問題,是因爲我電腦上有兩個xcode 一個是xcode9Bate 一個是xcode8.3.3,看到這如果你確信不是因爲兩個xcode 版本不一樣造成的,可以不用繼續往下了。
看圖:
在紅色的文字上面你能看到這句話Framework not found FileProvider for architecture arm64.
這句話的意思是找不到框架 FileProvider,(注:你的錯誤可能不一定是這個框架名,但是解決方法都一樣的)。
爲什麼會出現這樣的問題?
爲什麼會找不到這個框架呢,爲什麼會出現這樣的問題呢
當你排除了文件名重複,第三方框架依賴庫丟失,以及常量名重複,錯誤引入.m頭文件之後。那麼它就只有一種可能Xcode中的某些框架丟失。(注:從當前這個問題中就能直觀的看出這個問題就是框架缺失。 )
如果你的電腦上 裝有兩個版本的xcode或者你的項目被兩個不同版本的Xcode打開過,那麼你就不要多考慮,第一反應就是Xcode中缺少這個框架。(一般都是低版本的xcode缺少高版本Xcode中的Framework)
解決問題
那麼這個問題改這麼解決呢,不要慌很好解決,找到你的高版本xcode(我的是Xcode9Bate)應用程序,然後右鍵顯示包內容.然後按照以下目錄一層層找下去:
Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/
同樣的方法找到你的低版本的Xcode(我的是Xcode8.3.3)應用程序然後顯示包內容按照以上的目錄一層層找下去。
- 最後從XcodeBate的Frameworks文件夾中找到FileProvider這個框架然後複製到低版本Xcode的Frameworks文件夾中。就OK了。(友情提示:不要妄想懶省事,一下子全部粘貼複製,這樣會出問題的 )
最終如下圖:
友情提示:
以上的詳細錯誤並不會默認在Xcode工作區出現。此時在Xcodee左面板右鍵點擊錯誤選擇Reveal in Log,就能夠查看詳細錯誤了。如下圖: