今天把公司開發(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之前的配置是一樣的 **

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

然后導(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-updateCocoaPods升級之后到最新版本,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```