如何判断当前iOS设备
2013-12-24 14:40
239 查看
1.在程序中涉及到全屏的宽高的时候,初始化的时候,代码中不要写320和480
#define Screen_height [[UIScreen mainScreen] bounds].size.height
#define Screen_width [[UIScreen mainScreen] bounds].size.width
2.使用宏定义方法判断
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) if(iPhone5){ /*代码操作*/ }else{ /*代码操作*/ } if([ [ UIDevice currentDevice ] userInterfaceIdiom ] == UIUserInterfaceIdiomPhone ){ //IPhone设备 }else{ //ipad设备 }
网上还有一种方法:
+ (NSString*)deviceString { // 需要#import "sys/utsname.h" struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 1G"; if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"; if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; if ([deviceString isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; if ([deviceString isEqualToString:@"iPhone5,2"]) return @"iPhone 5"; if ([deviceString isEqualToString:@"iPhone3,2"]) return @"Verizon iPhone 4"; if ([deviceString isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([deviceString isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([deviceString isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([deviceString isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([deviceString isEqualToString:@"iPad1,1"]) return @"iPad"; if ([deviceString isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"; if ([deviceString isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)"; if ([deviceString isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"; if ([deviceString isEqualToString:@"i386"]) return @"Simulator"; if ([deviceString isEqualToString:@"x86_64"]) return @"Simulator"; NSLog(@"NOTE: Unknown device type: %@", deviceString); return deviceString; }
相关文章推荐
- 如何判断当前iOS设备
- 如何判断当前 app 是否在前台运行。
- 如何判断ios设备中是否安装了某款应用
- c# winform中如何判断DataGrid当前选中的是空白行,并根据选择控制按钮是否可用
- 如何判断ios设备中是否安装了某款应用
- android Camera 如何判断当前使用的摄像头是前置还是后置
- 如何判断ios设备中是否安装了某款应用
- 如何得到当前活动的控件(判断那个控件得到了光标)
- IOS中如何判断当前网络状态是否可用
- iOS 中如何判断当前是2G/3G/4G/5G/WiFi
- 在android中如何判断当前的apk是否处于运行状态
- 【IOS游戏开发】如何判断当前网络的运营商
- VC++中如何判断当前用户是否具有管理员权限
- vc CListCtrl 如何判断列表中的内容是否被选中?如何获取CListCtrl当前选中的行
- WinStoreApp8.1应用如何判断当前ViewState
- 如何判断当前浏览器的类型(IE和FF)然后调用不同的css?
- VC如何判断当前进程处在Administrator权限下
- VC++如何判断当前操作系统是32位还是64位?
- 如何判断当前LINUX系统启用了ASLR
- 在9530手机上面,如何控制程序只能纵向显示?如何判断当前的屏幕横纵方向呢?