close
最近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
文章標籤
全站熱搜