判断当前iOS设备的方法

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;  
}

时间: 2024-10-25 14:23:26

判断当前iOS设备的方法的相关文章

判断不同IOS设备

var iOSGen = iPhone.generation; if (Debug.isDebugBuild) { Debug.Log("iPhone.generation : " + iPhone.generation); Debug.Log("SystemInfo.deviceType : " + SystemInfo.deviceType); Debug.Log("SystemInfo.deviceModel: " + SystemInfo

获取iOS设备型号的方法总结

三种常用的办法获取iOS设备的型号: 1. [UIDevice currentDevice].model (推荐): 2. uname(struct utsname *name) ,使用此函数需要#include : 3.sysctlbyname(const char *name, void *oldp, size_t *oldlenp, void *newp, size_t newlen) ,使用此函数需要#include ,#include: 推荐使用第一种方法,为最上层的API,在项目开发

ios设备突破微信小视频6S限制的方法

刷微信朋友圈只发文字和图片怎能意犹未竟,微信小视频是一个很好的补充,音视频到位,流行流行最流行.但小视频时长不能超过6S,没有滤镜等是很大的遗憾.but有人突破限制玩出了花样,用ios设备在朋友圈晒出超时长.带滤镜甚至慢镜头拍摄的小视频.随ytkah一起看看他们是怎么玩的吧 未越狱ios设备在微信朋友圈上传延时.慢动作.滤镜.超时长小视频的方法: 第①步,将iPhone拍摄好的延时.超时长或者慢动作的视频保存到本地电脑,并同时截取一张视频画面保存.(PS:添加滤镜效果可以通过iMovie等App

【ios 技巧 - 13】ios设备抓包方法

对终端进行抓包是客户端测试中的一种重要手段.本文主要介绍了ios设备(iphone.ipad和ipodtouch)的几种常用的抓包方法. 一.准备条件 需要进行抓包的设备必须经过root,俗称越狱,主要利用redsn0w和各种iOSFirmwares进行,如越狱不用更换固件版本,只需使用redsn0w安装Cydia即可,网上有详细教程,此处省略.安装完毕,在3G或WiFi环境下启动Cydia,确认身份为“开发者”,如下图. 通过Cydia源,用户可以下载和安装比appstore更高权限的软件,但

iOS 获取最新设备型号方法

1.IOS 获取最新设备型号方法 列表最新对照表:http://theiphonewiki.com/wiki/Models 方法: #import "sys/utsname.h" struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];

如何判断 ios设备的类型(iphone,ipod,ipad)

-(bool)checkDevice:(NSString*)name { NSString* deviceType = [UIDevice currentDevice].model; NSLog(@"deviceType = %@", deviceType); NSRange range = [deviceType rangeOfString:name]; return range.location != NSNotFound; } NSString * [email protecte

navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) 判断是不是 移动设备 'ontouchstart' in window; 判断支不支

navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) 判断是不是 移动设备 'ontouchstart' in window; 判断支不支触屏 navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) 判断是不是 移动设备 'ontouchstart' in window; 判断支不支

ionic 项目引用 Background Mode 时,部署到ios设备时出现异常的解决方法

我们的ionic程序,有时候需要运行在后台,这个时候我们需要引用到cordova-plugin-background-mode,目前的版本0.7.2.  但是目前在IOS设备上调用这个版本的plugin是有问题的. 这个问题目前有以下2种解决方法. 1.  Visual Studio Code 打开ionic 项目, 打开终端, 运行命令: ionic cordova platform add ios ,  命令运行完成后, 用XCode打开位于 \platforms\ios\*.xcodepr

ios设备触发虚拟键盘输入后position:fixed 无效的一些简单另类的解决方法。

首先看一下我要解决的问题,第一张图是正常的情况下,第二张图是点击了输入框之后的情况,就是要解决此问题~! 百度了一下解决方法,好像有以下的一些方法: iscroll Jquery Mobile 监听屏幕滚动事件给 #footer 赋值 由于本人新手,第1,2种的方法就没学过,所以暂时不用这2方法,来看第三种:监听屏幕滚动事件给 #footer 赋值 首先设置 #footer 的 position 的值为 absolute 然后用$(window).scroll() 来监听,再给 #footer