這樣判斷會死人的啊。
.xcode4.5不再支持armv6即:iOS4.3.3以下的系統.
不被支持的硬件設備包括:iPod 2nd gen, iPhone 3G 或更老的iPhone
例如我打包時的錯誤提示就是:
warning: iOS deployment targets lower than 4.3 are not supported (current IPHONEOS_DEPLOYMENT_TARGET = "4.0", ARCHS = "armv7").
(null): iPhone/iPod Touch: application executable is missing a required architecture. At least one of the following architecture(s) must be present: armv6 (-19033)
因為喜歡用Block,所以我開發的東東,一般最低都支持iOS4.0,看來是蘋果逼着開發者和用戶升級啊。
5.奉上一段判斷iPhone的代碼
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
用時候直接
if (iPhone5) ooxx
就可以了。
另外,如果代碼寫界面的話,在iPhone5下View的高是568喲~
6.關於xib自適應的問題
默認的話,如果你的界面上包含scrollview/TableView的話,這個界面基本上是不用改的,因為中間部分會自動拉伸。如果不包含這兩個全屏 的控件的話,怕是要自已再添加一個專門針對iPhone5的xib了。辦法很簡單,新建一個xib文件,將里面view的size設置成Retina 4 Full Screen就可以了。上面已經提到怎么判斷iPhone5了,怎樣讀取不同的xib文件不用上代碼了吧?
7.關於屏幕旋轉(iOS5的時候就出過一次狀況,這次又來)
要深入理解這個問題,還需要您自已親自做一些實驗,iOS6取消了一個api,增加了兩個api,但是這一去一加滿足不了我的情況:應用在所有的界面都是豎屏,只在一個屏幕是橫屏。就這一個情況要實現費了我半天的功夫。只說一下我最后怎么實現的。
首先:這橫屏的xib里面的view就是橫的
其次:屏幕適應只支持橫屏
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
第三:在這個view是present出來的
第四:viewDidLoad里隱藏狀態欄
- (void)viewDidLoad{
if (IOSSystemVersion >= 5.0) {
//5.0及以后,不整這個,界面錯位 整這個帶動畫的話,容易看到一個白頭
[[UIApplication sharedApplication] setStatusBarHidden:YES];
}
}
第五:viewWillAppear自已將view旋轉90度
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[UIView animateWithDuration:0.0f
animations:^{
[self.view setTransform: CGAffineTransformMakeRotation(M_PI / 2)];
if (iPhone5) {
self.view.frame = CGRectMake(0, 0, 568, 320);
}
else{
self.view.frame = CGRectMake(0, 0, 480, 320);
}
}];
}
平時布局的時候盡量不要寫死,取得屏幕大小用[UIScreen mainScreen].bounds,我是這樣處理的。
![]() |
||
![]() |
適配iphone5的話 需要適配1136*640的分辨率 如果你什么都不改 雖然iphone5會兼容,但是會出現上下都是黑邊(看電影的)那種模式。。。這並不是適配
如果想在iphone5全屏 就要做適配工作 添加一張1136*640的default啟動大圖,然后程序有320 480的地方得改成動態獲取的 比如[UIScreen mainscrell].bounds.width 或height。。。。 |