回答
隨意使用這個類 - 我發現它here
使用
UIDeviceHardware *h=[[UIDeviceHardware alloc] init];
[self setDeviceModel:[h platformString]];
[h release];
UIDeviceHardware.h
//
// UIDeviceHardware.h
//
// Used to determine EXACT version of device software is running on.
#import <Foundation/Foundation.h>
@interface UIDeviceHardware : NSObject
- (NSString *) platform;
- (NSString *) platformString;
@end
UIDeviceHardware.m
//
// UIDeviceHardware.m
//
// Used to determine EXACT version of device software is running on.
#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];
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:@"iPod1,1"]) return @"iPod Touch 1G";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator";
return platform;
}
@end
比我的回答要好得多,但有人需要在iPhone 4上運行此功能,並查看該機型的機器字符串。 我認爲這可能是「iPhone3,1」。 – 2010-07-05 07:28:07
+1好點。我現在太累了,但我會明天嘗試併發布結果 - 除非有人打我 – SeniorShizzle 2010-07-05 07:38:18
我只是使用hw.machine(和hw.model)。 iPhone1,1也被稱爲「原始iPhone」或「iPhone 2G」(非官方),Apple列出了「iPod Touch第二代」和「iPod Touch第三代」,其中一個在此處不存在(可能是iPod2,2), – 2010-07-05 12:01:34
#import <sys/utsname.h>
+ (NSString*)deviceModelName {
struct utsname systemInfo;
uname(&systemInfo);
NSString *modelName = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
if([modelName isEqualToString:@"i386"]) {
modelName = @"iPhone Simulator";
}
else if([modelName isEqualToString:@"iPhone1,1"]) {
modelName = @"iPhone";
}
else if([modelName isEqualToString:@"iPhone1,2"]) {
modelName = @"iPhone 3G";
}
else if([modelName isEqualToString:@"iPhone2,1"]) {
modelName = @"iPhone 3GS";
}
else if([modelName isEqualToString:@"iPhone3,1"]) {
modelName = @"iPhone 4";
}
else if([modelName isEqualToString:@"iPhone4,1"]) {
modelName = @"iPhone 4S";
}
else if([modelName isEqualToString:@"iPod1,1"]) {
modelName = @"iPod 1st Gen";
}
else if([modelName isEqualToString:@"iPod2,1"]) {
modelName = @"iPod 2nd Gen";
}
else if([modelName isEqualToString:@"iPod3,1"]) {
modelName = @"iPod 3rd Gen";
}
else if([modelName isEqualToString:@"iPad1,1"]) {
modelName = @"iPad";
}
else if([modelName isEqualToString:@"iPad2,1"]) {
modelName = @"iPad 2(WiFi)";
}
else if([modelName isEqualToString:@"iPad2,2"]) {
modelName = @"iPad 2(GSM)";
}
else if([modelName isEqualToString:@"iPad2,3"]) {
modelName = @"iPad 2(CDMA)";
}
return modelName;
}
您可以使用此代碼檢測iPhone操作系統版本。 float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 3.0) {
// Only executes on version 3 or above.
}
- 1. 檢測iPhone應用版本更新?
- 2. 如何使用宏檢測iPhone操作系統版本
- 3. iphone檢測php
- 4. 檢測iPhone
- 5. 檢測iPhone
- 6. 檢測iPhone EndEvent
- 7. iPhone SDK版本
- 8. Xcode,iphone版本
- 9. 測試版iPhone上的iPhone開發?
- 10. 測試各種版本的iPhone Safari
- 11. iPhone應用程序的測試版本
- 12. iPhone接近檢測
- 13. Verizon iPhone 4檢測
- 14. 檢測的iPhone/iPod
- 15. 檢測iphone區域
- 16. 檢測任何iOS版本
- 17. SQLite,iPhone和版本
- 18. 舊Iphone sdk版本
- 19. Iphone版本加密
- 20. 如何檢測iOS版本?
- 21. 如何檢測IE版本
- 22. 檢測併爲iPhone 3和iPhone 4
- 23. 如何檢測應用程序中的iPhone操作系統版本?
- 24. 如何檢測iPhone是否在振動?
- 25. 如何檢測按鈕按下和iphone
- 26. 如何通過iPhone/iPad檢測css
- 27. 如何在網絡上檢測iPhone?
- 28. 如何檢測Iphone/Ipod音量級別?
- 29. 我如何檢測觸摸UIStatusBar/iPhone
- 30. 如何檢測iPhone上的LocallApStore工具?
您可以撥打[currentDevice](http://developer.apple.com/iphone/library/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/doc/uid/TP40006902 -CH3-SW10)在UIDevice上查看模型屬性。 **編輯:**雖然...文檔建議這不包括確切的型號。 – 2010-07-05 07:09:17