由于在 iPhone 4 硬件上运行的问题,我的 iTunes App Store 提交被退回。
基本上,该应用程序被编写为将所有网络活动集中到后台线程,以便 UI 在等待服务器响应慢速(蜂窝)数据连接时不会锁定。这在 iPad 2 + iPhone 4S 等双核设备上运行良好,但在 iPad/iPhone 4 等较旧的单核硬件上会导致响应时间缓慢和错误。
我确实在我的提交中包含了这样的注释,但我想知道是否有一种正式的方法来限制 iTunes Connect 中的目标设备?
干杯!
由于在 iPhone 4 硬件上运行的问题,我的 iTunes App Store 提交被退回。
基本上,该应用程序被编写为将所有网络活动集中到后台线程,以便 UI 在等待服务器响应慢速(蜂窝)数据连接时不会锁定。这在 iPad 2 + iPhone 4S 等双核设备上运行良好,但在 iPad/iPhone 4 等较旧的单核硬件上会导致响应时间缓慢和错误。
我确实在我的提交中包含了这样的注释,但我想知道是否有一种正式的方法来限制 iTunes Connect 中的目标设备?
干杯!
其实可能有办法:
将项目添加到UIRequiredDeviceCapabilities
您Info.plist
的要求bluetooth-le
应将您的应用程序限制为 iPhone 4S/5 和 iPad 3、4 和 mini。如果需要,您还可以camera-flash
提出将应用程序仅限于 iPhone 的要求。
请参阅设备兼容性矩阵
不幸的是,目前没有,有一个选项列表可供您限制用户购买应用程序,但由于内核没有任何限制
我刚刚在调查时发现了以下内容 - 这应该有助于您提交并获得 Apple 的批准,因为它是 Apple 的指导方针。
设备兼容性
信息属性列表 (Info.plist) 文件包含有关您的应用配置的关键信息,并且必须包含在您的应用程序包中。您在 Xcode 中创建的每个新项目都有一个默认的 Info.plist 文件,其中配置了有关您的项目的一些基本信息。您可以修改此文件以指定应用程序的其他配置详细信息。
UIRequiredDeviceCapabilities 键允许您声明应用程序运行所需的硬件或特定功能。所有应用程序都必须在其 Info.plist 文件中包含此密钥。App Store 使用此密钥的内容来防止用户将您的应用程序下载到可能无法运行它的设备上。本章中的表格显示了所有 iOS 设备及其功能。
希望它有所帮助。
您只能在项目设置中iPhone
或iPad
在项目设置中限制您的应用,同时在App Store
.
看看你可以在哪里设置类型。
要像您一样限制某些模型,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
. 它被批准作为使用。