1. 程式人生 > >pod install error , 專案包含框架衝突

pod install error , 專案包含框架衝突

背景

匯入三方資源的時候發現一個報錯, 修改完 podfile 之後終端執行 $ pod install. 提示錯誤 The ‘Pods-ProjectName’ target has frameworks with conflicting names: nimsdk.framework 雖然看提示很清楚知道是專案中已包含了 nimsdk, 但是一下子並沒有想到到底是因為那裡出了問題導致.

原因

  1. 一般是由於 podfile 新匯入的庫與原有專案中的 framework 有包含或者依賴關係導致。
  2. 之前使用手動匯入庫的方式, 後面修改成 cocoaPod 進行管理, 但是 Project 內殘留 Pod 匯入庫的相關類等等. 導致衝突。

解決

  • 針對第一種:

專案版本管理的強大之處就這個時候就很好的提現出來了. 比較喜歡用 git。 一般這種情況, 在執行 podfile 之前, 專案正常編譯通過的情況下, 我們直接通過 git 或者 svn checkout 回到上一個版本, 或者如果這次修改內容過多, 可以執行鍼對 podfile 進行 checkout 即可. $ git checkout Podfile 然後在重新 pod install 回到正常版本.

即可知道是具體由於那一個 framework 與原有專案中存在衝突, 在進一步針對具體情況進行解決即可。

  • 針對第二種:

    需要檢查 Project 裡面是否包含匯入三方庫的相關類等等, 如果存在的話刪除或者註釋掉, 然後重新 $ pod install 即可

注意看註釋

有些三方資源是相互依賴或者包含的關係, 可能由時候我們之前使用的是同一個組織, 或者開發者的三方庫等等. 這時候就經常出現這種問題, 在遇到報錯的時候, 可以去仔細看一下專案的 使用註釋, 一般都會有相關介紹和提示。 然後直接刪掉有包含關係的那個即可!

比如之前在使用 雲信通訊框架的時候, 首先引入的是 NIMSDK, 後面發現 NIMKit, 然後沒有注意看文件介紹, 直接在 podfile 新增了 pod ‘NIMKit’, 就會出現上面的錯誤。

到官方檢視文件才 發現 NIMKit 這個 framework 已經包含了 NIMSDK, 所以直接將 NIMSDK 刪除掉, 直接使用 NIMKit

就可以了.

參考

最後

希望此篇文章對您有所幫助,如有不對的地方,希望大家能留言指出糾正。 謝謝!!!!! 學習的路上,與君共勉!!!

本文原創作者:Jersey. 歡迎轉載,請註明出處和本文連結