【问题标题】:What to do with apps running on iOS 5 and below for identifierForVender对于 identifierForVendor,如何处理在 iOS 5 及更低版本上运行的应用程序
【发布时间】:2013-03-25 12:25:24
【问题描述】:

在过去的几天里,我听说 Apple 正在制作它,以便使用它们正在运行的设备的 UDID 标识符的应用程序将被 Apple App Store 拒绝 (Here is where I have read this)。他们建议开发人员使用在 iOS 6 中引入的identifierForVender。我对这种易于转换没有问题,但如果我仍然想支持在@ 下方的iOS 上运行的设备,我应该使用什么987654324@?我是否仍然可以使用 UDID 标识符?我认为这不是很清楚。

【问题讨论】:

    标签: ios objective-c ios6 udid


    【解决方案1】:

    如果您继续使用 uniqueIdentifier 独立于 iOS 版本,您的应用将被拒绝。我建议改用OpenUDID,它是已弃用的uniqueIdentifier 的直接替代品。

    您可以检查identifierForVendor 是否可用,或者您可以在所有情况下使用 OpenUDID。

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

    【讨论】:

    • 我确实喜欢这个作为答案,但我想既然 Apple 已经说过,他们会为使用它的人提供解决方案。 Apple 自己有没有关于如何做到这一点的任何信息?
    • 出于隐私考虑,Apple 确实弃用了这种方法。他们只想确保从现在开始不会在任何应用程序中使用 uniqueIdentifier。没有官方建议。您可以强制您的用户使用 iOS 6.0+ 或寻找替代方案(如 OpenUDID)。
    • 我以为他们会这样做。谢谢。我通常会在一两天内留下答案,这样每个人都有机会给出答案。如果没有人给出更好的答案,我会接受你的 +1。
    • 顺便说一句,我使用 OpenUDID 已经有一段时间了,到目前为止没有任何问题。在我们忘记支持 iOS 5.x 之前,这似乎是一个最佳解决方案! :) 祝你好运!
    • 会被批准。至少,不会因此而被拒绝。
    猜你喜欢
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多