我正在制作一款利用iPhone的对等蓝牙功能的游戏(可能还有iPod touch第二代).但是,要阻止用户尝试在iPod 1st和iPhone 2G上播放多人游戏,我需要检查特定的设备型号.
[[UIDevice currentDevice] model]只会告诉我该设备是"iPhone"还是"iPod touch".有没有办法检查特定的设备型号,如:"iPhone 3GS","iPod touch第一代"或类似的东西.
编辑:
UIDevice有一个类别(我认为它是由Erica Sadun创建的,我不赞成它),它使用以下代码来获取特定的设备模型.你可以在这里找到整个类别以及其他有用的东西: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;
}
Run Code Online (Sandbox Code Playgroud)
这项工作和使用它的应用程序最近已在AppStore中批准.
我们有一个iPod使用base构建的应用程序,SDK因为5.1.
App有tabBarController三个选项卡,每个选项卡都有一个UIViewController加载不同的视图.
该应用程序工作正常iOS 6.1和iOS 7(3.5英寸显示屏)模拟器和设备,但是当我们运行的应用程序
iOS 7(4英寸显示屏仿真器)或设备,我们正在在所有三个选项卡的顶部和视图屏幕下方的黑条.如果有人可以为这个问题提出理由或某些可行的解决方案,那对我们来说真的很有帮助.
谢谢
我想检测我当前的设备名称.如何通过iPhone SDK检测到它?另外我如何检测iPhone是否没有插入SIM卡?
我从这里找到了解决方案: 使用iPhone SDK确定设备(iPhone,iPod Touch)
从链接中,它建议使用库https://gist.github.com/1323251
但显然这个图书馆已经过时了.我在列表中找不到iPhone 5和新iPad等.
有谁知道如何找到已完成和更新的列表?
非常感谢.
可能重复:
如何通过代码查找iPhone/iPod设备型号(3G,3GS,4,4S)?
目标c如何检测iphone,iphone5和iPad
我想以编程方式识别iphone的型号(3g,4s,5).
那怎么能找到它?