ios之Linker command failed with exit code(use -v to see invocation)

問題描述

         我出現的問題,是因爲我電腦上有兩個xcode 一個是xcode9Bate 一個是xcode8.3.3,看到這如果你確信不是因爲兩個xcode 版本不一樣造成的,可以不用繼續往下了。
看圖:

這裏寫圖片描述

在紅色的文字上面你能看到這句話Framework not found FileProvider for architecture arm64.

這句話的意思是找不到框架 FileProvider,(注:你的錯誤可能不一定是這個框架名,但是解決方法都一樣的)。

爲什麼會出現這樣的問題?

  • 爲什麼會找不到這個框架呢,爲什麼會出現這樣的問題呢

    • 當你排除了文件名重複,第三方框架依賴庫丟失,以及常量名重複,錯誤引入.m頭文件之後。那麼它就只有一種可能Xcode中的某些框架丟失。(注:從當前這個問題中就能直觀的看出這個問題就是框架缺失。 )

    • 如果你的電腦上 裝有兩個版本的xcode或者你的項目被兩個不同版本的Xcode打開過,那麼你就不要多考慮,第一反應就是Xcode中缺少這個框架。(一般都是低版本的xcode缺少高版本Xcode中的Framework)

解決問題

  1. 那麼這個問題改這麼解決呢,不要慌很好解決,找到你的高版本xcode(我的是Xcode9Bate)應用程序,然後右鍵顯示包內容.然後按照以下目錄一層層找下去:

    Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/

  2. 同樣的方法找到你的低版本的Xcode(我的是Xcode8.3.3)應用程序然後顯示包內容按照以上的目錄一層層找下去。

  3. 最後從XcodeBate的Frameworks文件夾中找到FileProvider這個框架然後複製到低版本Xcode的Frameworks文件夾中。就OK了。(友情提示:不要妄想懶省事,一下子全部粘貼複製,這樣會出問題的

最終如下圖:

這裏寫圖片描述

Command+shift+K,大功告成!

友情提示:
以上的詳細錯誤並不會默認在Xcode工作區出現。此時在Xcodee左面板右鍵點擊錯誤選擇Reveal in Log,就能夠查看詳細錯誤了。如下圖:

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章