如何仅为iPhone 6和6 Plus限制我的应用程序?

Edu*_*lho 8 iphone size xcode screen ios

CONTEXT

我正在开发目前在iPad设备上运行的填字游戏应用程序.Apple最近发布了iPhone 6和iPhone 6+设备,幸运的是它拥有更大的屏幕,因此可以合法地运行我的游戏(我已经在iPhone 5S设备上测试了我的游戏,如果发现用户运行起来不舒服在这样的屏幕尺寸).

通过这种方式,我决定将我的应用程序迁移到Universal二进制文件,其中包括对iPhone 6,iPhone 6 Plus和iPad设备的支持.

  1. 有没有办法限制我的iOS应用程序只能在iPhone 6和iPhone 6+设备上运行?

或至少:

  1. 有没有办法限制我的iOS应用程序只能在iPhone 6+设备上运行?

myl*_*gon 0

我知道这可能已经太晚了,而且可能无论如何都无法回答问题,但我想“到底是什么”\xe2\x80\x93 这是一段很好的代码来确定范围设备,在某些情况下您可能需要不同的功能。

\n\n
#import <sys/sysctl.h>\n\n-(BOOL)isANewerDevice{\n\n    size_t size;\n    sysctlbyname("hw.machine", NULL, &size, NULL, 0);\n    char *machine = malloc(size);\n    sysctlbyname("hw.machine", machine, &size, NULL, 0);\n    NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];\n    free(machine);\n\n    NSString * ending = [platform substringFromIndex:[platform length]-3];\n    double convertedNumber = [[ending stringByReplacingOccurrencesOfString:@"," withString:@"."] doubleValue];\n\n//Devices listed here: /sf/ask/1370894591/\n\n    if ([platform containsString:@"iPhone"]) {\n        if (convertedNumber >= 7.1) { // 6 and above\n            return YES;\n        }else{\n            return NO; //less than a 6 (ie 5S and below)\n        }\n    }else if ([platform containsString:@"iPad"]){\n        if (convertedNumber >= 5.3) { //iPad Air 2 and above\n            return YES;\n        }else{\n            return NO; //iPad Mini 3 and below\n        }\n    }\n\n    //Failsafe\n    return NO;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

代码中注释的链接:Identify new iPhone model on xcode (5, 5c, 5s)

\n\n

笔记。由于具有containsString,这将在低于 8 的 iOS 版本上崩溃。要支持 <8.0,请尝试使用以下代码来改进此功能/sf/answers/1849132071/

\n\n

玩得开心!

\n