reference:
http://blog.csdn.net/xiaoguan2008/article/details/6582699
获取iphone的系统信息使用[UIDevice currentDevice],信息如下:
[[UIDevice currentDevice] systemName]:系统名称,如iPhone OS
[[UIDevice currentDevice] systemVersion]:系统版本,如4.2.1
[[UIDevice currentDevice] model]:The model of the device,如iPhone或者iPod touch
[[UIDevice currentDevice] uniqueIdentifier]:设备的惟一标识号,deviceID
[[UIDevice currentDevice] name]:设备的名称,如 张三的iPhone
[[UIDevice currentDevice] localizedModel]:The model of the device as a localized string,类似model
详见http://developer.apple.com/library/ios/#documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html
但是以上的信息貌似无法得到设备的硬件信息,例如一个iphone3GS,系统升级到了iphone4。此时使用systemVersion得到的应该是4.x.x,那我们如何知道该设备为iphone3GS呢。网上流传一个方法,经测试应该是有用的。
自定义一个类:
#import <Foundation/Foundation.h>
@interface UIDeviceHardware : NSObject {
}
- (NSString *) platform;
- (NSString *) platformString;
@end
#import "UIDeviceHardware.h"
#include <sys/types.h>
#include <sys/sysctl.h>
@implementation UIDeviceHardware
- (NSString *) platform{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
free(machine);
return platform;
}
- (NSString *) platformString{
NSString *platform = [self platform];
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4";
if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";
if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad";
if ([platform isEqualToString:@"i386"] || [platform isEqualToString:@"x86_64"]) return @"iPhone Simulator";
return platform;
}
@end
使用[[[UIDeviceHardware alloc] init] platform]应该就可以得到设备的硬件版本
分享到:
相关推荐
总之,利用`UIDevice`、`NSFileManager`和`NSProcessInfo`类,开发者可以获取到iPhone设备的硬件版本、系统信息以及存储和内存状态,为应用的个性化功能或者优化提供必要的数据支持。在iOS开发过程中,了解并熟练...
在iOS开发中,获取iPhone设备的硬件信息是常见的需求,这包括电池状态、手机版本、系统型号等。本文将详细讲解如何通过编程方式获取这些关键信息,并深入探讨相关的API和概念。 首先,我们要了解iOS系统提供了名为`...
以上就是关于获取iPhone设备信息的详细解释,包括openUDID、MAC地址、IP地址、设备型号和系统版本的相关知识。请注意,随着iOS系统的更新和隐私政策的变化,部分方法可能会过时,开发者应遵循最新的Apple指南来获取...
在使用iPhone时,了解如何激活设备以及查询其版本信息是非常基础且重要的技能。这不仅可以确保你正确设置并开始使用新购买的iPhone,还能帮助你跟踪设备的状态,以便于升级、维修或出售。以下是对这些知识点的详细...
上述代码会打印出当前设备的型号(如"iPhone 12")、系统名称(如"iOS")以及系统版本(如"14.7")。对于更详细的硬件信息,如CPU类型、内存大小等,通常需要使用私有API,但这违反了App Store的审核规则,因此在...
除了型号之外,我们还可以获取其他设备信息,如设备类型(iPhone、iPad等)、系统名称和版本: ```swift let deviceType = UIDevice.current.deviceType == .phone ? "iPhone" : "iPad" let systemName = UIDevice....
首先,Luminous提供了设备信息的相关类,如`DeviceInfo`,它包含了设备的基本属性,如设备名称、型号(例如iPhone Xs Max)、系统版本(如iOS 14.5)以及设备的唯一标识符。这些信息对于应用的个性化设置、适配和...
在文档中提到了多个不同版本的固件,包括针对不同设备(如iPhone 4S、iPhone 4等)以及不同的网络制式(如GSM、CDMA)所对应的固件版本。这些版本之间的主要区别在于它们适用于不同的硬件配置和网络环境: - **...
完成上述步骤后,等待命令行执行完毕,iPhone 4S会自动重启,系统就会回到降级后的iOS 6.1.3版本。 总的来说,这个教程详细介绍了iPhone 4S从iOS 7降级到iOS 6.1.3的完整流程,涉及到的工具、软件安装、设备越狱、...
苹果提供了iOS Simulator作为测试工具,可以在Mac上模拟多种iPhone和iPad设备以及不同的操作系统版本,无需实际设备即可进行大部分功能测试。 2. **兼容性测试**:确保应用能在各种iPhone型号和iOS版本上正常运行是...
在iOS开发中,获取设备型号和其他相关信息是常见的需求,这对于开发者来说至关重要,因为这有助于优化应用性能、适配不同设备的屏幕尺寸以及提供特定设备的功能。以下是对标题和描述中涉及知识点的详细说明: 1. **...
iPhone查询工具会显示当前安装的iOS版本,以及是否有可用的系统更新。及时更新到最新版本可以修复已知的漏洞,提升设备的安全性,并提供新的功能。 IMEI号码和序列号是每个iPhone的唯一标识,可用于验证设备的真伪...
通过这份PDF文档——iPhone4_sch.pdf,我们可以清晰地看到电路布局、信号路径以及各个元器件的功能。 在iPhone4的原理图中,我们可以看到以下几个核心部分: 1. 处理器:iPhone4采用了苹果自家的A4芯片,这是苹果...
越狱是指通过技术手段解除Apple公司对iPhone等设备的封闭系统限制,使得用户能够自定义设备、安装非App Store来源的应用以及获取更深层次的系统权限。本篇文章将详细解析标题为"iPhone4、iPhone4s、iPhone5、完美...
这是运营商ipcc文件,版本号40.1,适用于IOS12系统,硬件IPHONE 8PLUS,本版本可以搞定低版本系统联通volte
AnyChat for iPhone基于iOS 4.3研发,目前支持iPhone 3G、iPhone 3GS、iPhone 4、iPad、iPad2等硬件设备,SDK包里面提供了Demo程序源代码(基于xcode 4工程)供参考。 AnyChat for iPhone可与其它平台的AnyChat...
- 使用` XCUIApplication()` 可以获取到应用的主窗口,进一步可以获取到屏幕上的任何元素,如按钮、文本框等,并对它们进行操作。 - 要模拟点击特定坐标,可以使用 `press(forDuration:thenDragTo:)` 方法,先按住...
对于iPhone 4用户来说,这个版本可能是他们可以升级的最后一个官方支持的iOS版本,因为后续的iOS更新不再兼容iPhone 4的硬件。 标签“苹果”则明确了这个话题与Apple公司及其产品相关。 压缩包中的文件名称列表...