检测特定的iPhone/iPodtouch型号

检测特定的iPhone/iPodtouch型号

我正在制作一个游戏,利用iphone(可能还有iPodtouch第二代)的点对点蓝牙功能。然而,为了阻止用户在iPod1Gen和iPhone2G上玩多人游戏,我需要检查特定的设备型号。

[UIDevicecurrentDevice]型号]只会告诉我这款设备是“iPhone”还是“iPodtouch”。有没有办法检查具体的设备型号,比如“iPhone3GS”、“iPodTouch第一代”等等。

编辑:

UIDevice有一个类别(我认为它是由EricaSadun创建的,我不认为它值得称赞),它使用下面的代码来获得特定的设备模型。您可以在这里找到整个类别以及其他有用的内容:https://github.com/erica/uidevice-extension

#include <sys/types.h>#include <sys/sysctl.h>@implementation UIDevice (Hardware)/*
 Platforms
 iPhone1,1 -> iPhone 1G
 iPhone1,2 -> iPhone 3G 
 iPod1,1   -> iPod touch 1G 
 iPod2,1   -> iPod touch 2G 
*/- (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;}

这个工作和应用程序使用这个最近已经批准在AppStore。


慕田峪4524236
浏览 412回答 3
3回答

慕虎7371278

您可以使用uname从…sys/utsname.h..例如:#import&nbsp;<sys/utsname.h>NSString*machineName(){ &nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;utsname&nbsp;systemInfo; &nbsp;&nbsp;&nbsp;&nbsp;uname(&systemInfo); &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;[NSString&nbsp;stringWithCString:systemInfo.machine &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;encoding:NSUTF8StringEncoding];}结果应该是:@"i386"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;the&nbsp;simulator @"iPod1,1"&nbsp;&nbsp;&nbsp;on&nbsp;iPod&nbsp;Touch @"iPod2,1"&nbsp;&nbsp;&nbsp;on&nbsp;iPod&nbsp;Touch&nbsp;Second&nbsp;Generation @"iPod3,1"&nbsp;&nbsp;&nbsp;on&nbsp;iPod&nbsp;Touch&nbsp;Third&nbsp;Generation @"iPod4,1"&nbsp;&nbsp;&nbsp;on&nbsp;iPod&nbsp;Touch&nbsp;Fourth&nbsp;Generation @"iPhone1,1"&nbsp;on&nbsp;iPhone @"iPhone1,2"&nbsp;on&nbsp;iPhone&nbsp;3G @"iPhone2,1"&nbsp;on&nbsp;iPhone&nbsp;3GS @"iPad1,1"&nbsp;&nbsp;&nbsp;on&nbsp;iPad @"iPad2,1"&nbsp;&nbsp;&nbsp;on&nbsp;iPad&nbsp;2 @"iPad3,1"&nbsp;&nbsp;&nbsp;on&nbsp;iPad&nbsp;3&nbsp;(aka&nbsp;new&nbsp;iPad) @"iPhone3,1"&nbsp;on&nbsp;iPhone&nbsp;4 @"iPhone4,1"&nbsp;on&nbsp;iPhone&nbsp;4S @"iPhone5,1"&nbsp;on&nbsp;iPhone&nbsp;5 @"iPhone5,2"&nbsp;on&nbsp;iPhone&nbsp;5
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS