博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iPhone设备、型号、版本
阅读量:5739 次
发布时间:2019-06-18

本文共 2305 字,大约阅读时间需要 7 分钟。

NSString *modelname = [[UIDevice currentDevice]model];if ([modelname isEqualToString:@"iPhone"]) {  // iPhone}if ([modelname isEqualToString:@"IPod Touch"]) {  // iPod touch}if ([modelname isEqualToString:@"iPhone Simulator"]) {  // iPhone Simulator}

  

#import 
#if TARGET_OS_IPHONE // iPhone Device#endif#if TARGET_IPHONE_SIMULATOR // iPhone Simulator#endif#if !TARGET_IPHONE_SIMULATOR // iPhone Device#endif

  

可以通过 uname 函数取得当前机器的版本。

struct utsname u;uname(&u);NSString *machine = [NSString stringWithCString:u.machine];if ([machine isEqualToString:@"iPhone1,1"]) {  // iPhone 1G}if ([machine isEqualToString:@"iPhone1,2"]) {  // iPhone 3G}if ([machine isEqualToString:@"iPhone2,1"]) {  // iPhone 3GS}if ([machine isEqualToString:@"iPod1,1"]) {  // iPod touch 1G}if ([machine isEqualToString:@"iPod2,1"]) {  // iPod touch 2G}if ([machine isEqualToString:@"iPod3,1"]) {  // iPod touch Late2009}

 

或者通过  函数取得: 

- (NSString *) platform{  size_t size;  sysctlbyname("hw.machine", NULL, &size, NULL, 0);  char *machine = malloc(size);  sysctlbyname("hw.machine", machine, &size, NULL, 0);  /*  Possible values:  "iPhone1,1" = iPhone 1G  "iPhone1,2" = iPhone 3G  "iPhone2,1" = iPhone 3GS  "iPod1,1"   = iPod touch 1G  "iPod2,1"   = iPod touch 2G  */  NSString *platform = [NSString stringWithCString:machine];  free(machine);  return platform;}

  

使用 UIDevice 的属性 systemVersion 来得到

NSString *osversion = [UIDevice currentDevice].systemVersion;if ([osversion isEqualToString:@"2.1"]) {  // iPhone}if ([osversion isEqualToString:@"2.2.1"]) {  // iPod touch}if ([osversion isEqualToString:@"3.0"]) {  // iPhone Simulator}

  

iPhone SDK 版本宏

// 当前系统支持的最小版本__IPHONE_OS_VERSION_MIN_REQUIRED// 当前系统支持的最大版本__IPHONE_OS_VERSION_MAX_ALLOWED

  

比如用 iPhone OS SDK 3.1.2 编译的程序

__IPHONE_OS_VERSION_MIN_REQUIRED == __IPHONE_3_0__IPHONE_OS_VERSION_MAX_ALLOWED == __IPHONE_3_1

  

可以在程序中使用下面类似的 $ifdef 语句

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_2_2    // iPhone OS SDK 3.0 以后版本的处理#else    // iPhone OS SDK 3.0 之前版本的处理#endif

  

iPhone OS SDK 4 推出的时候,可以

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_2_2    #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_3_1        // iPhone OS SDK 4.0 以后版本的处理    #else        // iPhone OS SDK 3.0 ~ 4.0 版本的处理    #endif#else    // iPhone OS SDK 3.0 之前版本的处理#endif

  

 

转载地址:http://dpyzx.baihongyu.com/

你可能感兴趣的文章
文件系统管理 之 有关ext2文件系统下反删除(Undelete)操作恢复数据的文档
查看>>
UITextField 文本框
查看>>
iOS app 审核 重大bug快速发布修改通道
查看>>
Android组件化与插件化开发
查看>>
远程执行脚本
查看>>
go语言实现爬虫采集联想词
查看>>
文件夹加密方法概述
查看>>
微信朋友圈分享
查看>>
C#面向对象设计模式纵横谈汇总
查看>>
面向对象编程其实很简单——Python 面向对象(初级篇)
查看>>
Linux查看系统版本号 命令
查看>>
Cocos2d-x 特效
查看>>
Outlook Express与Microsoft Office Outlook 2003/2007数据互导的方法
查看>>
使用node结合阿里云短信服务实现发送手机短信验证码
查看>>
使用compass给网站添加搜索框
查看>>
技术员Ghost Win7Sp1x64纯净版V3.1(大地系统)
查看>>
Linux 下 的解压+压缩命令 大全
查看>>
CentOS 修改主机名 hostname
查看>>
秦皇岛人才网:如何用你的简历打动HR呢?
查看>>
大型网站技术架构(一)大型网站架构演化
查看>>