设计适用于特定iOS版本的iOS应用程序

时间:2015-10-29 18:03:00

标签: ios app-store

因此,我们正在开发一款将成为医疗设备的iOS应用程序。因此必须通过FDA法规进行验证,这将针对特定的iOS版本。我们了解到很难阻止最终用户更新iOS版本,这是一个问题,因为从FDA的角度来看,您将在未经验证的状态下运行。

因此,看起来我们将不得不在iOS更新时重新验证我们的应用程序,因为我们必须假设我们的iPad(即使是受控环境)正在更新。哪个好。但与此同时,我们不需要让用户运行我们的应用程序。

所以...我正在我们的应用程序中添加一些代码来检查“NSFoundationVersionNumber”,并且如果iOS晚于经过验证的那个,它将自动禁用(带警报)。

我的问题是,既然我从未见过应用程序这样做,那么:这是一种合理的方法吗,这是好/坏的做法?在App审核期间,Apple(似乎有兴趣让每个人保持同步)会有这个问题吗?

3 个答案:

答案 0 :(得分:0)

作为一种存在证据,iOS App商店中有很多应用程序在以前的iOS版本下运行,但只是在最新的iOS更新下崩溃。如果早期的操作系统版本是最新的正式版本,Apple似乎不会删除这些应用程序。修复这些崩溃是应用更新说明中给出的一个非常常见的原因。

因此,提交仅在当前版本的iOS(并且没有更高版本)上运行的应用程序可能不是“最佳实践”,但它会发生,因此是可能的。

但是,如果您向FDA提交某些需要某个iOS版本的内容,并且Apple在批准过程中更新了他们的操作系统,那么您将遇到问题,因此不再销售或支持此后不久安装旧操作系统版本。您永远无法为任何可用的客户iOS设备发布经FDA批准的应用程序。 Apple经常更新iOS版本。

Apple也有可能(有时会被报道)在下一个iOS版本的测试版下测试提交的应用程序,并拒绝不在此测试版上运行的应用程序。

答案 1 :(得分:0)

在iOS平台上,编程和设计范例至少部分由Apple决定,我会说这确实可以被视为不良实践

虽然这种情况似乎没有在Apple's Review Guidelines明确解决,但是该文件的精神(尤其是关于" 包含在有限时间后过期的内容或服务的应用程序"),我希望他们在设计的应用中冒犯,不为某些设备提供任何功能,特别是那些设计的在设备更新到最新版本的iOS后,默认情况下不提供任何功能。

作为一种可能的替代策略,我建议按照您的描述实施版本检查,但是如果遇到未经验证的iOS版本,应用程序只能通知用户(而不是关闭)。其后果,但继续在名义上起作用(可能在屏幕上显示醒目的警告标记)。

答案 2 :(得分:0)

也许在代理中启动时检查iOS版本可以做你想要的。

iOS 8及更高版本中的

[[NSProcessInfo processInfo] operatingSystemVersion]。

在变量中设置特定版本,如果版本较新则禁用该应用程序。

有几种方法可以禁用它。禁用mainViewController上的项目和导航...