本文即謝了如何配置,配置過(guò)程中遇到的坑也總結(jié)了,目前發(fā)現(xiàn)如何配置RAC這方面的文章太少了,其實(shí)坑還是有一點(diǎn)的,這些坑都需要google 才能解決
正題
使用CocoaPods在使用之前,確保你需要的庫(kù)在Specs repository或者cocoapods.org上可以查詢(xún)到蝇狼。在新的項(xiàng)目中使用CocoaPods
創(chuàng)建一個(gè)新的Xcode項(xiàng)目阅畴。步驟如下:
一) 為項(xiàng)目添加cocoapod,已經(jīng)添加過(guò)cocoapod 忽略此步
- 打開(kāi)終端,執(zhí)行
$ cd your project direction
迅耘,進(jìn)入到你的項(xiàng)目目錄下,前提是新建一個(gè)項(xiàng)目哦贱枣。
- 打開(kāi)終端,執(zhí)行
-
$ touch Podfile
創(chuàng)建一個(gè)Podfile文件。打開(kāi)Podfile,推薦使用終端打開(kāi),cd 到Podfile 文件下在第一行寫(xiě)下platform :ios, '8.0'
指定平臺(tái)以及所支持的版本颤专。
-
- 在單獨(dú)一行用
pod 'libraryName'
纽哥,指定需要導(dǎo)入的依賴(lài)。
- 在單獨(dú)一行用
如何使用ReactiveCocoa
ReactiveCocoa可以在iOS和OS X的應(yīng)用開(kāi)發(fā)中使用栖秕,對(duì)于iOS開(kāi)發(fā)者春塌,可以將RAC源碼下載編譯后,使用編譯好的libReactiveCocoa-iOS.a
文件簇捍。
開(kāi)發(fā)者也可以用CocoaPods來(lái)設(shè)置目標(biāo)工程對(duì)ReactiveCocoa的依賴(lài)只壳,只需要編輯Podfile文件,增加如下內(nèi)容即可:
pod 'ReactiveCocoa', ‘4.0' 目前的最新的
或者
pod 'ReactiveCocoa
- CocoaPods提供
$ pod init
暑塑,可以為我們創(chuàng)建具有模板的Podfile文件吼句。在$ pod install
執(zhí)行完成之后,會(huì)生成一個(gè)projectName.xcworkspace文件事格,之后使用這個(gè)文件來(lái)打開(kāi)項(xiàng)目惕艳。
- CocoaPods提供
- 在終端中執(zhí)行
$ pod install
,就會(huì)為項(xiàng)目導(dǎo)入執(zhí)行的依賴(lài)驹愚。
- 在終端中執(zhí)行
**可能問(wèn)題 Setting up CocoaPods master repo 一直不動(dòng)
終端中輸入 cd ~/.cocoapods 再輸入 du -sh * 查看下載了多少 **
一直不動(dòng),解決方案見(jiàn)我的文章: CocoaPods update 慢的較好的解決方案
cocoapod 安裝好后,執(zhí)行如下命令 打開(kāi)podfile 文件并編輯
//3.0.0需要最底8.0的ioS部署系統(tǒng) 否則會(huì)報(bào)錯(cuò)提示的
platform :ios, ‘8.0‘
//use_frameworks! 一定要加的,感嘆號(hào)也不能少
use_frameworks!
target “demo” do
pod 'ReactiveCocoa', ‘3.0’
end
//上面的那個(gè)會(huì)報(bào)錯(cuò) 解決方案在這頭文件找不到的報(bào)錯(cuò)解決方案
platform :ios, ‘8.0‘
use_frameworks!
target ‘demo’ do
pod 'ReactiveCocoa’, :podspec => 'https://gist.githubusercontent.com/PaulTaykalo/04f8e2ee25b9d57f03455ccafd541b34/raw/e94f3bec7a9450ecd0f0cdc9b4899deb0b91d758/ReactiveCocoa.podspec.json'
end
wanggangdeMacBook-Pro:demo wanggang$ open -e /Users/wanggang/Documents/demo/Podfile
wanggangdeMacBook-Pro:demo wanggang$ pod install
最后安裝成功了
wanggangdeMacBook-Pro:demo wanggang$ pod install
Analyzing dependencies
Downloading dependencies
Installing Box (1.2.2)
Installing ReactiveCocoa (3.0.0)
Installing Result (0.4.4)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 3 total
pods installed.
[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.
wanggangdeMacBook-Pro:demo wanggang$
二) pod install 成功后build project 坑總結(jié)
安裝成功了打開(kāi)工程的.xcworkspace,并不會(huì)一番就可以順利編譯通過(guò)
2.1) 會(huì)出現(xiàn)如下錯(cuò)誤:
上面的錯(cuò)誤 在pod的target中選一個(gè)證書(shū)就可以了,pods-demo,ReactiveCocoa,Result 三個(gè)紅色箭頭指的地方都要選擇
2.2)下面的錯(cuò)誤 需要信任證書(shū)
,這是xcode8 的新特性,以前只有企業(yè)賬號(hào)才需要信任證書(shū),現(xiàn)在開(kāi)發(fā)賬號(hào)也需要了,去設(shè)置->通用->描述文件, 點(diǎn)擊信任證書(shū),就可搞定
2.3) 報(bào)錯(cuò)的EXTKeypathCoding.h等幾個(gè).h 文件 找不到
,有同學(xué)說(shuō)pod 'ReactiveCocoa’
修改為pod 'ReactiveCocoa’,:podspec => 'https://gist.githubusercontent.com/PaulTaykalo/04f8e2ee25b9d57f03455ccafd541b34/raw/e94f3bec7a9450ecd0f0cdc9b4899deb0b91d758/ReactiveCocoa.podspec.json'
,就可以解決.h文件會(huì)報(bào)錯(cuò)的問(wèn)題,發(fā)現(xiàn)不好用,我的方法是加上RAC 的前綴就可以,好幾個(gè)文件,都需要加RAC 的前綴,只要說(shuō)找不到文件,就加RAC 前綴,就可以通過(guò),當(dāng)然也有其他的辦法,發(fā)現(xiàn)不是完全解決.
加了前綴后的文件如下所示:
2.4) 會(huì)有報(bào)錯(cuò)swift 文件錯(cuò)誤,主要是語(yǔ)法錯(cuò)誤
如果項(xiàng)目中沒(méi)有用到swift ,直接可以刪除掉ReactiveCocoa 庫(kù)中的所有swift 文件,即可變異通過(guò).至此所有的問(wèn)題都解決了,就可以愉快的玩啥RAC了.
去google 搜索相關(guān)的報(bào)錯(cuò),很多老外都說(shuō)集成RAC 會(huì)有a lot of trouble 的,trouble 我都解決了 ,分享出來(lái),有問(wèn)題歡迎留言.
2.5) 附上demo的podfile 文件 ,這個(gè)可能會(huì)用的上
使用RAC 2.0版本的podfile 文件,RAC 2.0 版本庫(kù)里面就不會(huì)有swift 了
platform :ios, ‘8.0‘
use_frameworks!
target ‘demo’ do
pod 'ReactiveCocoa’,2.0
end
使用RAC 4.0版本的podfile 文件,RAC 4.0 版本庫(kù)里面有swift 了文件,支持swift3 ,但是swift會(huì)報(bào)錯(cuò),我用xcode8 和xcode7.2 試的
platform :ios, ‘8.0‘
use_frameworks!
target ‘RACDEMO4’ do
pod 'ReactiveCocoa’,:podspec => 'https://gist.githubusercontent.com/PaulTaykalo/04f8e2ee25b9d57f03455ccafd541b34/raw/e94f3bec7a9450ecd0f0cdc9b4899deb0b91d758/ReactiveCocoa.podspec.json'
end
上面的兩個(gè)podfile 文件兩個(gè)選擇一個(gè)就行了,兼容swift選擇后者,不兼容swift 選擇前者即可
0710補(bǔ)充在公司電腦安裝過(guò)程:
1)touch Podfile
,
2$ open -e /Users/hlh/Downloads/SVNCode0125/0928shangchuanAPPstore-SVN/Podfile ,
platform :ios, ‘7.0‘
use_frameworks!
target ‘ZhuRenWong’ do
pod 'ReactiveCocoa’,2.0
end
3)$ pod init
$ pod install
- 警告
[!] The `Paopao [Release]` target overrides the `PODS_ROOT` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation- Use the `$(inherited)` flag, or- Remove the build settings from the target.文/Nidalee丶
如下方法慎用,
項(xiàng)目其他地方需要-objc-(比如環(huán)信)會(huì)出現(xiàn)崩潰,解決方法,把刪除的objc加上
ps:第一次為項(xiàng)目集成cocoa pod 和RAC項(xiàng)目所有的文件都需要提交, 另外第二次提交 workspace 盡量少提交避免沖突
______
- 作者開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)的文章推薦,持續(xù)更新學(xué)習(xí)心得筆記
[Runtime 10種用法(沒(méi)有比這更全的了)](http://www.reibang.com/p/3182646001d1)
[成為iOS頂尖高手远搪,你必須來(lái)這里(這里有最好的開(kāi)源項(xiàng)目和文章)](http://www.reibang.com/p/8dda0caf47ea)
[iOS逆向Reveal查看任意app 的界面](http://www.reibang.com/p/060745d5ecc2)
[JSPatch (實(shí)時(shí)修復(fù)App Store bug)學(xué)習(xí)(一)](http://www.reibang.com/p/344db07a2374)
[iOS 高級(jí)工程師是怎么進(jìn)階的(補(bǔ)充版20+點(diǎn))](http://www.reibang.com/p/1f2907512046)
[擴(kuò)大按鈕(UIButton)點(diǎn)擊范圍(隨意方向擴(kuò)展哦)](http://www.reibang.com/p/ce2d3191224f)
[最簡(jiǎn)單的免證書(shū)真機(jī)調(diào)試(原創(chuàng))](http://www.reibang.com/p/c724e6282819)
[通過(guò)分析微信app,學(xué)學(xué)如何使用@2x,@3x圖片](http://www.reibang.com/p/99f1f924ae45)
[TableView之MVVM與MVC之對(duì)比](http://www.reibang.com/p/d690b5d97201)
[使用MVVM減少控制器代碼實(shí)戰(zhàn)(減少56%)](http://www.reibang.com/p/f85363c82ea1)
[ReactiveCocoa添加cocoapods 配置圖文教程及坑總結(jié)](http://www.reibang.com/p/66f0c7e1ced8)