首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不建议使用UIDevice uniqueIdentifier

不建议使用UIDevice uniqueIdentifier
EN

Stack Overflow用户
提问于 2013-04-27 19:26:16
回答 1查看 3K关注 0票数 0

5月1日之后,苹果将拒绝访问uniqueIdentifier的新应用和更新。他们在iOS 6.x中引入了几种新方法,这是很好的,但是.如果我需要在较早版本的SDK上运行我的应用程序呢?所以,我的代码看起来是:

代码语言:javascript
复制
if ([UIDevice instancesRespondToSelector:@(identifierForVendor)]) {
     deviceId = [UIDevice currentDevice] identifierForVendor];
} else {
    // WHAT SHOULD BE HERE?
}

如果它是旧的SDK,开发人员应该使用什么?此外,即使我找到了一些可以使用的东西,但一旦用户升级了他的操作系统版本,这个值也会有所不同,这显然是不好的--对于同一台设备,我们将有两个不同的ids。

EN

回答 1

Stack Overflow用户

发布于 2013-04-27 21:14:15

如果它是旧的SDK,开发人员应该使用什么?

Apple,因此您可能没有选择使用您正在考虑的won't accept apps built with an SDK that's more than a few versions old。您仍然可以将最低支持的iOS版本设置为旧版本,但是即使在Pre6.0设备上运行,您也可能无法使用-uniqueIdentifier

-[UIDevice uniqueIdentifier]从iOS 5.0开始就不再受欢迎了,所以您已经有近两年的时间来处理它即将消失的事实。现在尝试使用UDID的另一个更新已经太晚了;取决于您如何处理UDID,您可能会遇到问题。在新规则的精神范围内,有几种很好的替换UDID的解决方案,但是,无缝切换到它们的窗口或多或少是封闭的。

即使我找到了一些可以使用的东西,但一旦用户升级了他的操作系统版本,这个值也会有所不同,这显然是不好的--对于同一台设备,我们将有两个不同的ids。

考虑一下不推荐UDID的原因:用户不希望您未经他们的许可就能够跟踪他们的设备,而且Apple肯定不希望被视为允许您跟踪他们的设备。因此,如果您确实找到了一个对您有效且不使用UDID的解决方案,那么如果您的方案不允许用户选择退出您正在进行的任何跟踪,您可能仍然面临被拒绝的风险。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16256028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档