限制用于App Store提交的某些iOS目标设备

由于运行在iPhone 4硬件上的问题,我的iTunes App Store提交反弹。

基本上,应用程序被编写为将所有联网活动放到后台线程,以便在等待服务器响应慢速(蜂窝)数据连接时,UI不会locking。 在iPad 2 + iPhone 4S这样的双核心设备上,这样做效果很好,但是在像iPad / iPhone 4这样的老式单核硬件上,响应速度慢,出错。

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

干杯!

不幸的是,目前还没有一个可用的选项列表,以限制用户购买应用程序,但没有限制,由于核心

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

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

将Info.plist中的UIRequiredDeviceCapabilities添加到“bluetooth-le”的要求应该限制您的应用程序到iPhone 4S / 5和iPad 3,4和mini。 如果您需要的话,您也可以使用“相机闪光灯”要求将应用程序限制在iPhone上。

请参阅DeviceCompatibilityMatrix

我在查看时发现了以下内容 – 这应该可以帮助您提交并通过Apple的批准,因为这是Apple的准则。

设备兼容性

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

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

希望它有帮助。

您只能在项目设置中限制iPhoneiPad应用程序,并限制在App Store中发布。

看看你可以在哪里设置types。

在这里输入图像说明

要限制像iPhone 4/4s这样的一些模型,你应该通过编程来获得大小,并redirect到一些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; } 

重要的是要记住,苹果希望尽可能最大限度地支持您的应用程序,不支持特定的模型可以拒绝您的应用程序。 但如果你只支持iPhone 4/4s你可能会照常发布。 首先尝试适应你的代码使用自动布局,只有当你不可能通过某些设备模型来限制。

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