检测特定的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。
3 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
uname
sys/utsname.h
#import <sys/utsname.h>NSString*machineName(){ struct utsname systemInfo; uname(&systemInfo); return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];}
@"i386" on the simulator @"iPod1,1" on iPod Touch @"iPod2,1" on iPod Touch Second Generation @"iPod3,1" on iPod Touch Third Generation @"iPod4,1" on iPod Touch Fourth Generation @"iPhone1,1" on iPhone @"iPhone1,2" on iPhone 3G @"iPhone2,1" on iPhone 3GS @"iPad1,1" on iPad @"iPad2,1" on iPad 2 @"iPad3,1" on iPad 3 (aka new iPad) @"iPhone3,1" on iPhone 4 @"iPhone4,1" on iPhone 4S @"iPhone5,1" on iPhone 5 @"iPhone5,2" on iPhone 5
- 3 回答
- 0 关注
- 411 浏览
添加回答
举报
0/150
提交
取消