做“攻城员”这行就这样。项目忙起来,没完没了地加班!从早到晚不停地去搬砖!在项目繁忙期间弄得整个人累成狗一样,都没心思静下来记录一些工程开发中遇到问题的解决方法。忙前忙后将近两个月终于迎来了轻松时光,是时候写写东西了。
闲谈话就不多说了,直接进入正题吧!
Swift语言都已经出到了2.2了(Swift3.0也快要推出来了!),可以说Swift语言逐渐成熟了。市场上很多应用也应用到了Swift语言了。期间自己也没有停下来研究Swift语言的脚步,但平时都是用在写一些小Demo来练手。一直想着把Swift语言真正运用到项目中去巩固所学到的知识。一时心血来潮,规划着将一个老项目进行项目重构,重构某些代码冗杂的功能模块,给项目来场“减肥”运动!在原来Objective-C语言项目的基础上插入Swift语言(Objective-C语言与Swift语言混编,网上的教程很多,不做阐述)。
项目重构注定是一场花费时间长又烦闷的工作(朋友都说我是在给自己找罪受,累是累,但老项目更新的版本多了,是得花时间去重构一下的,去掉一下冗余的代码)!晕,不是说直接进入正题吗?怎么一下子又说了那么多闲话!哈哈……
想必使用过MVVM设计模式(想了解的朋友可以看看这篇帖子)进行项目开发的人都知道RAC类库ReactiveCocoa(GitHub地址)这款非常好用的开源框架吧。我一直喜欢用这款开源框架进行项目开发。在使用Swift语言进行项目开发前,我就担心ReactiveCocoa是否适用Swift!好在万能的国外开源,该开源框架更新出4.x支持Swift!
本人喜欢使用新东西进行开发,当然第一时间就去更新啦!本人使用CocoaPods进行第三方类库的管理,第一时间打开终端进行更新。接着问题出现了,我电脑安装的CocoaPods版本过低,无法下载最新的ReactiveCocoa框架版本,没办法只好多来一步更新CocoaPods版本(电脑系统为EI Captain的更新方法可浏览该帖子)!
天朝的网络是注定要经历漫长的更新岁月的。更新完成后,终端输入:
pod --version
1.0.1
pod search ReactiveCocoa
倘若查找到的版本是最新的,证明你的CocoaPods版本更新成功,就可以下载更新最新版本的ReactiveCocoa开源框架了。
使用终端进入到你项目所在的路径:cd (你的项目路径,直接拖拽过来)
然后使用Vim编辑你的PodFile,添加 pod 'ReactiveCocoa',保存退出。使用更新代码:
pod update --no-repo-update
更新完成后,您的ReactiveCocoa就已经是GitHub上最新的版本了。
找开工程,Command + B 。。。。。
什么鬼,编译失败!什么问题,找到问题所在的文件,很醒目的错误信息:
<unknown> :0: error: could not build Objective-C module 'ReactiveCocoa'
note: in file included from
:1:
#import "Headers/ReactiveCocoa-umbrella.h"
^
.../Build/Products/Debug-iphonesimulator/ReactiveCocoa/ReactiveCocoa.framework/Headers/ReactiveCocoa-umbrella.h:18:9: note: in file included from .../Build/Products/Debug-iphonesimulator/ReactiveCocoa/ReactiveCocoa.framework/Headers/ReactiveCocoa-umbrella.h:18:
#import "NSObject+RACPropertySubscribing.h"
^
.../Build/Products/Debug-iphonesimulator/ReactiveCocoa/ReactiveCocoa.framework/Headers/NSObject+RACPropertySubscribing.h:10:9: error: 'ReactiveCocoa/EXTKeyPathCoding.h' file not found
#import
^
:0: error: could not build Objective-C module 'ReactiveCocoa'
什么鬼,'ReactiveCocoa/EXTKeyPathCoding.h'这个文件找不到,但文件已经存在项目中了啊!
各种捣鼓,Google找解决办法。终于让我找到了解决办法
I solved the issue performing a "Clean Build Folder..." action (under theProductmenu, holding down the option key).
After that, I managed to use ReactiveCocoa both with CocoaPods 1.0.1 and Carthage.
Thanks for the support!
里面有一位牛人给出了解决办法,打开你的Xcode,然后进行Clean Build Folder操作,快捷键如下:
Clean Build Folder(Shift+option+Command+K)
重新打开项目Buiding。可爱的Success提示终于出现了。啥,就一句操作就行了。没错!就这么简单!
本人自己都无语了,写了那么多铺垫就一步简单的Clean Build Folder操作就解决了!
好了。希望朋友们不要见笑啊,虽然就一上学简单的操作,但是写的有点多。感谢各位朋友的浏览,祝愿你们的工程永远少Bug,健康运行!