如何在代码中判断当前设备是iPhone 4/4S还是iPhone 5?

+ (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-13 11:38:42

如何在代码中判断当前设备是iPhone 4/4S还是iPhone 5?的相关文章

python代码中判断版本

在python代码中判断python版本: if sys.version_info < (3, 0): lib.make_flows.argtypes = [c_char_p, c_char_p, c_int, c_int, c_int] lib.make_flows(avi, newpath, 0, 0, 10) else: in_path = bytes(avi, 'utf8') out_path = bytes(newpath, 'utf8') lib.make_flows(in_path

iOS 中判断当前设备的相机是否可用

在iOS 开发中,经常需要调用相机来扫描类似二维之类的东西,在调用之前,首先应该判断当前设备的相机是否可用: 下面直接上代码:(swift中的写法) 1 class WNCommonTool: NSObject { 2 /** 3 4 判断当前设备的相机是否可用 5 6 :returns: 当前设备的相机是否可用 7 8 */ 9 10 class func isCameraAvailable() -> Bool{ 11 12 return UIImagePickerController.isC

代码中判断网络类型的类别

Reachability 中定义了3种网络状态: typedef enum { NotReachable = 0,  //无连接 ReachableViaCarrierDataNetwork, //使用3G/GPRS网络 ReachableViaWiFiNetwork  //使用WiFi网络 } NetworkStatus; 比如检测某一特定站点的接续状况,可以使用下面的代码: Reachability *r = [Reachability reachabilityWithHostName:@“

java中如何在代码中判断时间是否过了10秒

long previous = 0L; ... { Calendar c = Calendar.getInstance(); long now = c.getTimeInMillis(); //获取当前时间 Log.d(TAG, "now-->" + now + ",,previous-->"+previous + ",,now - previous -->" + (now - previous)); if(now - prev

iOS 自动布局扩展应用:代码中动态调整布局常量

一.设计需求 iOS Storyboard 自动布局技术,是iOS 6才出来的新技术,相当于多屏幕分辩率下自适应的技术. 但是一些复杂情况还是难处理. 比如有一个界面需求,进度条上显示标签,这个需求不难,难的是显要在显示表格框内,在各种机型显示正常. 最初设定是垂直居中向上偏15个像素 这是iPhone 4S 显示效果,下面与滑块还有错位 但是在iPhone 6下显示,下面有错位,但是上面留空太多 但如果把偏移量设为21.则出现另一种情况. 大屏幕的手机显示完美. 但是iPhone 4S下就错位

Android通过代码判断当前设备是否为模拟器

不知道各位注意到没有,微信在模拟器上是安装后无法运行的,现在,因为项目需求,也需要实现同样的功能,废话不多说了,直接上代码. package com.example.checkisemulator; import android.os.Build; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.telephony.TelephonyMana

如何判断AB PLC系统中的硬件设备是否在正常工作

前言:PLC控制系统,主要由CPU.本机架I/O模块,分布式I/O模块,通信模块,或其他设备(如:伺服驱动器.交换机.第三方设备)等组成,如何判断这些设备是否工作正常?或是一旦出现故障,能在第一时间判断故障设备出在哪里?为排查故障节省时间,提高效率,降低停机时间,在大型项目中维护,尤其重要.本文,将分享一种如何判断AB PLC控制系统中的硬件设备是否在正常工作的方法. 一.使用方法 即通过编写GSV指令访问模块对象,硬件组态及编程注意事项: 1. 模块对象能提供有关模块的状态信息: 2. 模块必

判断客户端设备的代码:

这些是我在网上找到的代码,只供自己做项目的时候参考: 第一种: 1 function fBrowserRedirect() { 2 var sUserAgent = navigator.userAgent.toLowerCase(); 3 var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; 4 var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"

jquery判断移动设备代码片段;pc、iphone、安卓

1 $(document).ready(function () { 2 /* 判断设备*/ 3 var browser={ 4 versions:function(){ 5 var u = navigator.userAgent, app = navigator.appVersion; 6 return { 7 trident: u.indexOf('Trident') > -1, //IE内核 8 presto: u.indexOf('Presto') > -1, //opera内核 9 w