对于identifierForVender,如何处理在iOS 5及以下版本上运行的应用程序

对于identifierForVender,如何处理在iOS 5及以下版本上运行的应用程序,ios,objective-c,ios6,udid,Ios,Objective C,Ios6,Udid,在过去的几天里,我听说苹果正在制作这样的应用程序,即使用其运行设备的UDID标识符的应用程序将被苹果应用程序商店拒绝()。他们建议开发人员使用iOS 6中引入的供应商标识。我对这种易于更换的方式没有任何问题,但是如果我仍然希望支持在iOS下iOS6上运行的设备,我该怎么做呢?我是否仍然可以使用UDID标识符?我认为这不是很清楚。如果您继续独立于iOS版本使用uniqueIdentifier,您的应用程序将被拒绝。我建议改为使用,这是不推荐使用的uniqueIdentifier的替代品 您可以检查

在过去的几天里,我听说苹果正在制作这样的应用程序,即使用其运行设备的UDID标识符的应用程序将被苹果应用程序商店拒绝()。他们建议开发人员使用iOS 6中引入的供应商标识。我对这种易于更换的方式没有任何问题,但是如果我仍然希望支持在
iOS
iOS6
上运行的设备,我该怎么做呢?我是否仍然可以使用UDID标识符?我认为这不是很清楚。

如果您继续独立于iOS版本使用uniqueIdentifier,您的应用程序将被拒绝。我建议改为使用,这是不推荐使用的uniqueIdentifier的替代品

您可以检查供应商的标识是否可用,或者在所有情况下都可以使用OpenUDID

if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
    // Use: [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
    // Use: [OpenUDID value];
}

我很喜欢这个答案,但我想既然苹果公司这么说了,他们会为那些使用它的人提供一个解决方案。苹果公司自己有什么关于如何做到这一点的建议吗?出于隐私考虑,苹果公司不赞成这种方法。他们只想确保uniqueIdentifier从现在起不会在任何应用程序中使用。没有官方的建议。你可以强迫你的用户使用iOS 6.0+或者找一个替代的(比如OpenUDID),我想他们会这么做的。谢谢我通常会在一两天内留下答案,这样每个人都有机会给出答案。如果没有人给出更好的答案,我会接受你的+1。顺便说一句,我使用OpenUDID已经有一段时间了,到目前为止没有任何问题。在我们忘记支持iOS 5.x之前,这看起来是一个最佳解决方案!:)祝你好运它将被批准。至少,它不会因此而被拒绝。