蘋果每發布乙個系統,都夠開發者忙活一陣的,更新xcode適配新系統:像ios4支援retina需要@2x的圖;像ios5不支援udid;像現在的ios6和iphone5要面對的下面的一堆問題。
不被支援的硬體裝置包括:ipod 2nd gen, iphone 3g 或更老的iphone
例如我打包時的錯誤提示就是:
1
2
warning: ios deployment targets lower than 4.3 are not supported (current iphoneos_deployment_target = "4.0", archs = "armv7").
因為喜歡用block,所以我開發的東東,一般最低都支援ios4.0,看來是蘋果逼著開發者和使用者公升級啊。
1
#define iphone5 ([uiscreen instancesrespondtoselector:@selector(currentmode)] ? cgsizeequaltosize(cgsizemake(640, 1136), [[uiscreen mainscreen] currentmode].size) : no)
用時候直接
1
if (iphone5
) ooxx
就可以了。
另外,如果**寫介面的話,在iphone5下view的高是568喲~
預設的話,如果你的介面上包含scrollview/tableview的話,這個介面基本上是不用改的,因為中間部分會自動拉伸。如果不包含這兩個全屏的控制項的話,怕是要自已再新增乙個專門針對iphone5的xib了。辦法很簡單,新建乙個xib檔案,將裡面view的size設定成retina 4 full screen就可以了。上面已經提到怎麼判斷iphone5了,怎樣讀取不同的xib檔案不用上**了吧?
(ios5的時候就出過一次狀況,這次又來)
要深入理解這個問題,還需要您自已親自做一些實驗,ios6取消了乙個api,增加了兩個api,但是這一去一加滿足不了我的情況:應用在所有的介面都是豎屏,只在乙個螢幕是橫屏。就這乙個情況要實現費了我半天的功夫。只說一下我最後怎麼實現的。
首先:這橫屏的xib裡面的view就是橫的
其次:螢幕適應只支援橫屏
1
2
3
- (
bool
)shouldautorotatetointe***ceorientation
:(uiinte***ceorientation
)inte***ceorientation
第三:在這個view是present出來的
第四:viewdidload裡隱藏狀態列
1
2
3
4
5
6
- (
void
)viewdidload
} 1
2
3
4
5
6
7
8
9
10
11
12
13
- (
void:(
bool
)animated
else
} ];
}
如何去舊工程適配iOS6和iPhone5
蘋果每發布乙個系統,都夠開發者忙活一陣的,更新xcode適配新系統 像ios4支援retain需要 2x的圖 像ios5不支援udid 像現在的ios6和iphone5要面對的下面的一堆問題。1.新增retina 4 launch image,執行工程的時候會主動提示你。這時候直接點add就好了。會...
如何去舊工程適配iOS6和iPhone5
蘋果每發布乙個系統,都夠開發者忙活一陣的,更新xcode適配新系統 像ios4支援retain需要 2x的圖 像ios5不支援udid 像現在的ios6和iphone5要面對的下面的一堆問題。1.新增retina 4 launch image,執行工程的時候會主動提示你。這時候直接點add就好了。會...
關於IOS6的適配問題
現在大部分使用afnetworing開源庫的應用大部分是無法支援ios6的,是因為在afnetworking2.0 之後的版本使用了ios6之後棄用的方法。如果要適配ios6 除了其他方法外,需要改動網路開源庫,比如將afnetworing 改到2.0 包括 之前的版本,或者使用asi做網路請求部分...