今天略略有些無聊在家里折騰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 我肯定會不可避免的產生一些抵觸的情緒。