今天略略有些无聊在家里折腾Xcode插件,参考锤神的《Xcode必备插件》文章,发现自己用的插件还是太少了,仅限于喵神的VVDocumenter-Xcode (著名的三行注释)和KSImageNamed,而文章中标注“必备”的就有10种之多,其中XToDo 和SwitchExpander等几个插件的用法git介绍对我来说颇有打开新世界大门的感觉。
带着一股“我之前都干什么去了”的复杂心情,各种插件连带代码的配色方案一下子塞进去十多个,满怀希望的重载load bundle,创建新项目,3秒后!Duang! Xcode崩溃了
不甘心,再开老的项目。这次不错,撑了15秒,Duang,又崩溃了。
终于可以愉快的敲代码了,NewFile,手指刚离开鼠标左键,Duang!……
我去Storyboard里拖线总没问题了吧?Duang!……
#import <SVProgressHUD>,刚刚按下"S"键,Duang!……
终于意识到不对劲,检查崩溃日志,终于发现了是这个插件在捣鬼。嗯……图片忘了截了
HighlightSelectedString
作用是选定一个单词,无论是类名还是具体的对象或者某一个属性,自动高亮该代码块中所有同名的。
但崩溃日志显示,在主线程里发生的EXC_BAD_ADRESS导致了Xcode意外退出。能力有限,只能看懂这一句,具体在哪触发的请恕我真心不知道。不过按照道理来说应该是这个插件内部引用了某个苹果已经删除或者修改了的api吧。
解决方法很简单,把他删了,再清一下缓存,重新打开,一切正常了。
值得一提的是,虽然上面这句说的很轻巧,但这句话折腾了一个半小时,因为我一直在纠结崩溃日志上的错误代码和错误类型,但最关键的那行小字一开始没注意 发生错误的路径在日志里已经被标明,就在Plug–ins文件夹里。
题外话:不知为何,想到以前玩WOW的时候了,网吧机器的大脚(BigFoot ,知名插件集,某种意义上就是WOW的 Alcatraz )是存储在服务器上的,每台机器在使用时候都相当于调用了服务器上的BigFoot副本,但是某天服务器上的大脚被盗号者换成了植入木马的版本,导致不少玩家账号被洗劫一空,一时间整个网吧哀嚎遍野,尽管网吧老板及时找人进行了维护替换,但不可否认的是这次盗号事件让我们这些穷学生对网吧产生了或多或少的不信任感,连锁反应是网吧的生意的确造成了一定的影响。
我没有被盗号……因为一直坚持使用自己配的插件包逃过一劫。
好像有点扯远了,我想表达的意思是,短期内我应该是不会再使用这个高亮插件了(即使作者很快就修复了这个BUG),但毕竟第一次使用就给我造成了长达2小时的困扰,再看到这个HighlightSelectedString 我肯定会不可避免的产生一些抵触的情绪。