如何检测我是否有iPhone 2G,3G,3GS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检测我是否有iPhone 2G,3G,3GS相关的知识,希望对你有一定的参考价值。

如何通过ios检测我当前的设备名称?

答案

无论您使用的是iPhone还是iPod Touch:

UIDevice *device = [UIDevice currentDevice];
NSString *systemName = [device systemName];

要检测操作系统的版本:

UIDevice *device = [UIDevice currentDevice];
NSString *systemVersion = [device systemVersion];

要检测特定模型,您需要测试只有该模型具有的某些功能,以便检测iPhone 3GS,检查相机上的视频功能:

#define SOURCETYPE UIImagePickerControllerSourceTypeCamera

// does the device have a camera?
if ([UIImagePickerController isSourceTypeAvailable:SOURCETYPE]) {
  // if so, does that camera support video?
  NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:SOURCETYPE];
  bool isA3GS = [mediaTypes containsObject:kUTTypeMovie];
}
另一答案

这是Erica Sadun编写的一个类,它为此提供了广泛的功能:

http://github.com/erica/uidevice-extension/blob/master/UIDevice-Hardware.m

查看其余的repo - 还有一些类可以证明对细粒度设备查询非常有用。

另一答案

从UIDevice.h文件:

[[UIDevice currentDevice] name]              // e.g. "My iPhone"
[[UIDevice currentDevice] model]             // e.g. @"iPhone", @"iPod Touch"
[[UIDevice currentDevice] localizedModel]    // localized version of model
[[UIDevice currentDevice] systemName]        // e.g. @"iPhone OS"
[[UIDevice currentDevice] systemVersion]     // e.g. @"2.0"
[[UIDevice currentDevice] uniqueIdentifier]  // a string unique to each device based on various hardware info.
另一答案

你在寻找的是:

UIDevice *device = [UIDevice currentDevice];
NSString *model = [device model];

这将返回设备是iPhone还是iPod touch

以上是关于如何检测我是否有iPhone 2G,3G,3GS的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone 上检测 2G 和 3G

区分 iPhone 3G 和 iPhone 3GS

如何以编程方式识别iphone(3g,4s,5)版本[重复]

可以将我的应用程序限制为 iPhone 3GS/iPhone 4 吗?

如何通过代码查找iPhone / iPod设备型号(3G,3GS,4,4S)? [重复]

使用 2G、3G、4G 网络的 iPhone 应用程序