iOS7适配该如何做起,向下兼容应该注意那些问题


iOS7适配该如何做起,向下兼容应该注意那些问题

ios objective-c ios7

飞一般的疯猫 10 years, 10 months ago

首先想要兼容多个版本的系统你需要先用


 [[[UIDevice currentDevice] systemVersion] floatValue] < 7.0

来获得系统版本号(一些WWDC的例子使用这个)以此为分割做一些兼容操作 适配需要注意到一些API的变动,比如有些API是新增的,你在老版本的系统上没有,需要规避使用或者用上面的判断形成分支。 APPLE给出了一片API 变动文档 (目前还未公开,需要用开发者帐号进入) iOS7应该是由内而外发生了大更新,一些UI布局发生了彻底变化,比如statusbar已经透明化了,如果UI内容不做新的偏移计算,整体可能会上升20pix, 有些比较上面的控件(举个废话例子:UILabel 创建使用的Rect是(0,0,h,w)就会和statusbar直接重叠(难看的要死))可能会和statusbar直接重叠。系统提供的一些View的一些行为也发生了改变,比如UITableView内部,cell不属于


 [tableView subviews]

了,而在


 [[tableView subviews][0] subviews]

楼主可以和iOS6.*对比一下。UI风格估计很困难兼容了。。。APPLE专门写了文档说先搞iOS7。。以下是原话: If business reasons require you to continue supporting iOS 6 or earlier, you need to choose the most practical way to update the app for iOS 7. The techniques you choose can differ, but the overall advice remains the same: First, focus on redesigning the app for iOS 7. Then, bring the changes to the iOS 6 version as appropriate. 给我的感觉就是数据处理还能兼容(iOS7废弃了一些标记如MAC地址(会返回一个固定的值),全面用UUID代替),UI想兼容简直是噩梦。。

说注意点的话:仔细看看自己需要的数据内容是否在DIFF文档中提到,如果有变动,就能想解决方案了,UI风格想兼容真是丧心病狂,APPLE推荐使用系统的小清新风格(专门写了几篇文档)

Nukaman answered 10 years, 10 months ago

Your Answer