我想知道是否有办法部署iOS 5版本的应用程序,而没有更高版本的iOS能够运行此应用程序。我知道Base SDK版本和部署目标选项,用于配置运行应用程序的系统,但有没有办法指定应用程序只能在iOS 5上运行?
原因:我有一个更新版本的应用程序,它具有更多功能,使用更多内存,因此在iPad上崩溃1.旧版本的应用程序功能较少,运行正常。我想将旧版本部署到iOS 5,对于iOS 6及更高版本的所有内容,我想部署新版本。
有没有办法在不释放两个单独的应用程序的情况下执行此操作,从而使用户对哪个应用程序的下载感到困惑?
答案 0 :(得分:3)
我想知道是否有办法部署iOS 5版本的应用程序,而不是让更高版本的iOS能够运行此应用程序
不,这不可能。即使您的应用具有5.0的Base SDK,也无法阻止iOS 6用户安装和运行该应用。
有没有办法在不释放两个单独的应用程序的情况下执行此操作,从而使用户对哪个应用程序的下载感到困惑?
正如“亚光”所述,是的。您创建一个应用程序。您将部署目标设置为5.0,将基本SDK设置为“最新”。诀窍是你需要进行大量的运行时检查,这样iOS 5的用户才能获得“更旧,更低内存”的功能。 iOS 6的用户应该获得所有新功能。
您的应用说明(以及“新功能”说明)应明确表示iOS 5和iOS 6用户将获得不同的功能。
答案 1 :(得分:1)
您可以根据iOS5兼容性对应用进行编程,然后将其发送给Apple。当您上传您的应用时,它会询问一些信息,其中一个是兼容性。如果你声明它只与iOS5兼容,他们可能会接受它,但我不是100%肯定。
答案 2 :(得分:1)
您无法限制较新iOS版本的应用。
正如您在问题中所述,您的问题不是iOS版本,而是iPad 1 。
您可以使用+[UIDevice model]
和-[NSProcessInfo processorCount]
在运行时检测iPad 1。 iPad 1只有一个CPU核心,所有其他iPad型号都有2个或更多核心。
然后只需禁用或更改此设备上的某些功能。
答案 3 :(得分:0)
我想将旧版本部署到iOS 5,对于iOS 6及更高版本的所有内容,我想部署新版本。有没有办法在不释放两个单独的应用程序的情况下执行此操作...?
是的,您必须编写条件代码,如果设备运行的是iOS 5,则会发生某些事情,如果设备运行iOS 6,则会发生其他情况。
答案 4 :(得分:0)
有没有办法在不释放两个单独的应用程序的情况下执行此操作 让用户对哪一个下载感到困惑?
您应该构建一个应用程序,根据设备是否支持这些功能,有条件地启用功能。在iOS5上运行时,应隐藏在iOS5上无法运行的iOS6功能。当硬件不存在时,应隐藏依赖于某些硬件的功能。尽量尝试测试您需要的特定功能 - 不要假设某个功能根据操作系统的版本存在或不存在。
答案 5 :(得分:0)
您只能在Apple测试后批准的App Store中发布应用程序。据报道,他们通常在最新版本的iOS上测试应用程序,如果您的应用程序崩溃或无法在当前操作系统(今天的6.1.3)上运行,Apple可能会拒绝该应用程序。
所以没有。