前言
xcode8在9月14日開放下載,抱著滿滿的熱情,我也在第一時間图甜,頂著公司破網下載了5個小時成功體驗了一次Xcode8。以往每一次更新總有很多很多坑鳖眼,這一點我早有覺悟黑毅,但是沒想到這個坑一踩下去就坑了整整2天
。下面我就講講親身經歷的一些事:
注釋快捷鍵失效
一打開界面钦讳,第一感覺就是字體變了矿瘦,好像比xcode7好看多了枕面。那就敲幾句代碼試試吧。敲著敲著突然發(fā)現(xiàn)command + /
失效了缚去。潮秘。。當時心中一萬個草泥馬崩騰啊易结,一開始還以為我的電腦問題枕荞,問了下旁邊一起更新的同事發(fā)現(xiàn)也一樣。好吧搞动,這是事實躏精。。然后各種查資料鹦肿,網上論壇貌似這個問題只會出現(xiàn)在一部電腦上玉控。
解決方法: 重啟下電腦就好了。(試了各種偏方都不行狮惜,最后同事重啟下電腦告訴我好了高诺。。碾篡。虱而。有驚無險)
插件不能用
蘋果為了避免類似 Xcode Ghost 事件的再次發(fā)生,Xcode8 禁用了插件機制开泽,而開放了另一種形式:Source Editor extensions牡拇,但是這種形式局限性太大。MakeXcodeGr8Again 只是去除了它的簽名穆律,這樣使得 Xcode8 也可以繼續(xù)使用插件了惠呼。由于簽名被移除,所以它的安全性又重回 Xcode7 時代峦耘,也就是還有可能受到類似 Xcode Ghost 的攻擊剔蹋。所以不推薦用 XcodeGr8 來提交應用到 Appstore。Use at your own risk.
xcode版本升級插件不能用這個是很正常的事辅髓,但是我按以前的方式修改插件的plist
文件加DVTPlugInCompatibilityUUID
后泣崩,發(fā)現(xiàn)還是不能用。。于是問題就嚴重了。舰始。沒了ESJsonformat
以后生成Json轉Model要一個一個手敲啊÷蛴牛看了一眼新的接口返回的json心中不寒而栗。。
趕緊找找辦法搶救下。
解決辦法:使用XcodeGr8葵陵,參考文章,但是這個辦法不敢上傳到Appstore瞻佛,所有并沒有完美解決脱篙。
CocoaPods pod trunk push 出錯
之所以坑了2天,其實有大部分時間都在解決這個坑伤柄。在更新之前绊困,我寫了個NMPageViewController,但是在0.0.4版本中不小心寫了個bug,本想在Xcode8升級后再推個0.0.5補救下适刀,原本很簡單只要一個pod trunk push
命令就推上去了秤朗,但是各種奇葩問題都來了。首先是報錯simulator iphone 4s is not available.
這個可以理解笔喉,xcode8去掉4s模擬器取视,編譯出錯理所當然,可能是CocoaPods不是最新版吧常挚。于是用命令sudo gem install cocoapods --pre
經過漫長的等待升級到bate版作谭。然后還是報simulator iphone 4s is not available.
好吧,畢竟是第一天發(fā)布Xcode8正式版奄毡,CocoaPods沒反應過來也正常折欠,我自己下模擬器。
又和公司的破網斗爭了幾個小時之后吼过,成功下載到了4s模擬器锐秦。然后繼續(xù)
trunk push
,又報錯:
讓我在驗證期間用/Users/nuomi/.cocoapods/repos/master
代替/Users/nuomi/NMKit/NMPageViewController/lib.
是什么鬼盗忱?網上搜了半天找不到啊酱床。。趟佃。于是我改改代碼斤葱,提交下git到github又發(fā)現(xiàn)問題了:
我提交到自己的git庫關
https://github.com/CocoaPods/Specs.git
什么事?于是看了下本地.git
文件揖闸。
我驚奇的發(fā)現(xiàn)我的庫地址被改了揍堕。。汤纸。(事后多次嘗試發(fā)現(xiàn)是trunk push修改的)有話好好說衩茸,你動不動就改我地址干嘛。突然想起前面報錯提示:在驗證期間要臨時修改下
贮泞。那我就忍忍唄楞慈,再pod trunk push
幔烛。剛才的錯誤不見了,有來了新的:
我的項目明明叫
NMPageViewControllerDemo.xcworkspace
你找App.xcworkspace
肯定找不到啊囊蓝。這里我已經想到饿悬,估計CocoaPods還沒兼容Xcode8,我記得我的筆記本還是Xcode7,先用筆記本傳代碼解決燃眉之急聚霜。結果Xcode7編譯不了了狡恬,顯示:
網上都說刪除xib源碼中的<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
,我試了試,Xcode7直接閃退蝎宇。弟劲。。心中再一次一萬只草泥馬崩騰姥芥。
正確的打開方式是:打開公司電腦兔乞,用Xcode8打開xib按下圖修改
然后上傳到git,然后筆記本從git拉下來凉唐,再編譯庸追。
然后pod trunk push
,然后一切都是熟悉的感覺台囱。锚国。
靈異事件
升級Xcode8后,有一個xib的圖片顯示不出來玄坦⊙看了下這個圖片的約束感覺沒有什么問題,而且其他cell的圖片都能顯示出來煎楣,就這個cell不行豺总。
后來在IOS9系統(tǒng)的手機上嘗試是能出現(xiàn)的,在IOS10中不顯示择懂,不知道是IOS10的問題還是Xcode8的問題喻喳。由于就這么一個xib出錯,也沒深究困曙,重新生成一個xib繼續(xù)用表伦。
ps:今天找到原因了,因為xcode8從xib上拿到的view frame的height和width都是1000慷丽,而我設了個圓角是height/2蹦哼。也就是說我設了一個500的圓角,因此圖片不顯示了要糊!
其他實用的變化tip
這篇文章已經總結的很好了纲熏,因此不再累述。文章地址:http://www.reibang.com/p/0cc7aad638d9。
總結
本來只想寫技術文章局劲,不想吐槽什么勺拣,但是這次經歷真的讓人不吐不快。鱼填。蘋果大大還是任性啊药有。
總結一句話: