限制使用某些iOS目标设备进行App Store提交

时间:2012-04-17 12:52:46

标签: ios objective-c iphone app-store

由于iPhone 4硬件上存在问题,我已经提交了一个iTunes App Store提交。

基本上,应用程序被编写为将所有网络活动都移植到后台线程,以便在等待服务器响应慢速(蜂窝)数据连接时,UI不会锁定。这在iPad 2 + iPhone 4S等双核设备上运行良好,但导致iPad / iPhone 4等老式单核硬件的响应时间和错误都很慢。

我在提交中确实包含了这种效果的注释,但我想知道是否有正式的方法来限制iTunes Connect中的目标设备?

干杯!

4 个答案:

答案 0 :(得分:17)

实际上,可能有一种方法:

根据UIRequiredDeviceCapabilities的要求,在Info.plist的{​​{1}}中添加项目会将您的应用限制为iPhone 4S / 5和iPad 3,4和mini。 如果需要,您还可以提出bluetooth-le要求将应用限制为仅限iPhone。

请参阅DeviceCompatibilityMatrix

答案 1 :(得分:6)

不幸的是,目前还没有一个选项列表可供您限制用户购买应用程序,但没有限制因核心而受到限制

表: http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

答案 2 :(得分:2)

我在调查时发现了以下内容 - 这可以帮助您提交并获得Apple批准,因为这是Apple的指导原则。

设备兼容性

信息属性列表(Info.plist)文件包含有关应用配置的重要信息,必须包含在您的应用包中。您在Xcode中创建的每个新项目都有一个默认的Info.plist文件,其中配置了一些有关项目的基本信息。您可以修改此文件以指定应用程序的其他配置详细信息。

UIRequiredDeviceCapabilities键允许您声明应用程序运行所需的硬件或特定功能。所有应用都需要在Info.plist文件中包含此密钥。 App Store使用此密钥的内容来阻止用户将您的应用程序下载到无法运行它的设备上。本章中的表格显示了所有iOS设备及其功能。

希望它有所帮助。

答案 3 :(得分:2)

您只能在项目设置中限制iPhoneiPad的应用,同时限制App Store中的发布。

查看您可以在何处设置类型。

enter image description here

要限制某些模型,例如iPhone 4/4s,您应该以编程方式获取大小并重定向到某些ViewController,告知此模型不支持您的应用。

请参阅此处获取屏幕尺寸。

CGSize result = [[UIScreen mainScreen] bounds].size;

switch ((int) result.height) {
    case 480: 
        NSLog(@"iPhone 4 / 4s");
        break;

    case 568: 
        NSLog(@"iPhone 5 / 5c / 5s");
        break;

    case 667:
        NSLog(@"iPhone 6 / 6s"); 
        break;

    case 736: 
        NSLog(@"iPhone 6+ / 6s+");
        break;

    default: 
         NSLog(@"Other screen size, could be an iPad or new device model.");        
         break;
}

重要的是要记住Apple希望为您的应用提供尽可能多的支持,而不支持特定型号可以拒绝您的应用。但如果您不支持iPhone 4/4s,您可能会像往常一样发布。首先尝试调整您的代码以使用自动布局,但前提是您无法通过某些设备模型进行限制。

我有一个已发布的应用,限制为iPhone 4s。它被批准为usal。