如何在App Store中添加一个应用程序,在这个应用程序中有一个用于ios7,另一个用于其他应用程序?

Hen*_* LP 1 app-store ios ios7

嗨,因为ios 7中有很多东西在iOS 6及其周围都无法正常工作.我想知道是否有可能在同一个应用程序下的App Store上有两个版本的应用程序.是否有可能使得当有iOS 6的人下载应用程序时,他们会获得针对ios 6优化的应用程序,当有ios 7的人下载它时,他们会获得针对iOS 7优化的应用程序.我是否必须创建appstore上有两个不同的应用程序?

请帮忙.

Ida*_*dan 5

你不能为一个应用程序(单个构建文件)提交两个不同的版本,想想它 - 它没有任何意义.您可以在应用程序内部检查其运行的设备上的iOS版本,但这样做非常糟糕,因为有一天它会破坏.

建议的事情是在您愿意使用新功能检查是否在您运行的版本上实现此功能之前,例如,如果您想检查是否可以使用:

[[AVAudioSession sharedInstance] requestRecordPermission];
Run Code Online (Sandbox Code Playgroud)

你应该检查这个是真的(只有在实现这个功能时才应该返回true):

[[AVAudioSession sharedInstance] respondsToSelector:
                                 @selector(requestRecordPermission)]
Run Code Online (Sandbox Code Playgroud)

使用它的最大优点是它可以在iOS 7.x上运行,如果在iOS 8.x支持它,它也会返回true .

另一个很大的优点是,您只需拥有特定于操作系统支持的小部分,而不是每个版本的完整应用程序(更易于维护).

:您应该注意要链接的库.如果您使用的是以前iOS版本不支持的新库,则应将其标记为"可选"而不是"必需"(这是默认设置).

最后,如果你想为每个操作系统创建单独的应用程序(如果我没有成功解释它是多么错误)你可以随时添加一个新目标(只是复制你正在处理的目标)并相应地设置参数.请注意,Apple只允许您限制可以下载应用程序而不是最新版本的最旧版本,因此iOS 7用户可以下载专用于iOS 6的应用程序,因此它也可以工作(也许不是所有伟大的7功能,但必须工作).

希望有所帮助,如果有什么遗漏请在下面评论.