CocoaPods使用第三方庫報unrecognized selector sent to instance錯誤

今天把公司開發(fā)了半年多的工程加入了Cocoapods來管理第三方類庫,過程很順利,配置好podfile后執(zhí)行pod install,第三方類庫就很輕松的導(dǎo)入了項目中,寫代碼的時候也沒有任何問題,但是運行起來后問題就來了。
  在使用Cocoapods之前,項目中的第三方都是手動導(dǎo)入的,加入Cocoapods后我首先把原來項目中的Masonry刪掉了,然后通過pod來導(dǎo)入,導(dǎo)入后編譯沒有任何問題,但是運行后立刻Crash,錯誤是UI控件找不到Masonry中的方法unrecognized selector sent to instance xxxxxx,而方法確實是存在的。


** 后來找到的解決方法是:**

  • 1、打開工程所在文件夾,找到.xcodeproj文件,右鍵選擇【顯示包內(nèi)容】,找到project.pbxproj文件
  • 2、打開project.pbxproj文件,查找OTHER_LDFLAGS,把和這個相關(guān)的內(nèi)容都刪除
  • 4、重新編譯并運行

** 在問題解決之前Other Linker Flages是這樣顯示的,跟未使用Cocoapods之前的配置是一樣的 **


Error_Image.png

** 問題解決之后,是這樣子的 **

Right_Image.png

然后導(dǎo)入所有的庫都可以正常運行了
如果哪位大神知道原因,請在評論中告知,不勝感激??


順便附上Cocoapods的安裝和使用的命令###


gem sources --remove https://rubygems.org/ // 移除源

gem sources -a https://ruby.taobao.org/ // 替換為淘寶源,詳情請查看鏈接。

gem sources -l // 查看是否替換成功

sudo gem update --system // 升級ruby環(huán)境

sudo gem install cocoapods // 開始安裝Cocoapods

pod --version // 查看Cocoapods版本,目前最新應(yīng)該是1.0.1

pod search AFNetworking // 查找

pod repo update // 如果查找不到最新的第三方庫版本,可以執(zhí)行此命令更新本地pod倉庫

pod install // 初始化Cocoapods

pod update // podfile文件修改后需要執(zhí)行更新


2016-07-05更新

  • 執(zhí)行pod update的時候每次都會默認(rèn)升級CocoaPods的spec倉庫,有時候會卡在 Analyzing dependencies 很長時間,非常耽誤時間,這時候可以使用下面的命令執(zhí)行update
    pod update --verbose --no-repo-update
    如果提示找不到庫,說明spec倉庫可能不是最新版本,則可去掉 --no-repo-update

  • CocoaPods升級之后到最新版本,podfile里的內(nèi)容必須明確指出所用第三方庫的target,否則會出現(xiàn)The dependency `xxx` is not used in any concrete target這樣的錯誤。

target "TargetName" do
  pod ‘ReactiveCocoa‘, ‘2.1.8‘
  pod ‘SDWebImage‘, ‘3.6‘
end```
最后編輯于
?著作權(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)容