最近iOS 8終於上線了

我在上個禮拜才用開發者帳號偷跑

結果很多程式一直當(尤其是Line~_~)

還記得iOS 7上線的時候,也是一樣,很多程式都會當

這兩次iOS升級,我在改別人的程式的時候,發現有個很共同的原因

 

一般,iOS的升級並不會造成程式當掉

很多會造成crash的原因就是,開發者沒有照著原來的rule走

最常見的就是去解析UIKit裡面元件的階層架構,然後在去用裡面的某個view

例如想要取用 UIAlertView裡面的某個UILabel,修改他的Alignment

或是在InterfaceBuilder裡設了某個UIView

然後在code裡面透過取用superView來找到所在的UITableViewCell

然後apple下一次改版,只要這個階層改掉

就會crash

然後修改的方式就會變成

 

if( OS_Version >= 7.0) {

    .......

}

else {

    ........

}

我超度爛這種寫法的 (雖然有時候真的是沒辦法,又想要新功能,又要兼容舊版本~_~)

 

我是覺得除非你這產品,你作好了以後就打算讓後面的人去吃你的屎 (像我就是吃到了..Orz)

要不然最好還是照著走

你今天是用他的工具,就照著工具的使用說明書去作

照著說明書去作(雖然還是有可能會被表到),一來在版本更新比較不會有問題,二來也比較好maintain

 

 

文章標籤

創作者介紹
創作者 jrdevil 的頭像
jrdevil

猴董的網路日誌

jrdevil 發表在 痞客邦 留言(0) 人氣()