【发布时间】:2012-01-27 00:07:13
【问题描述】:
在 iOS5 中,Apple 已弃用 [UIDevice uniqueIdentifier](参见此处 http://techcrunch.com/2011/08/19/apple-ios-5-phasing-out-udid/)
它目前仍然有效,但显然我们希望迁移我们的应用,不再使用它。我们不能放弃冷火鸡,但我们正在推出一种迁移策略,以保留用户数据而不将其绑定到实际的物理设备(我们滥用设备 UDID 的唯一原因)。
This Stack Question gives a great alternative to using the UDID.所以我有一个新的UDID要使用。
我担心那些不费心升级我们的应用程序并最终更新他们的 iOS 版本的用户,这样已弃用的调用不再有效。我们的代码假定 uniqueIdentfier 调用保证始终“工作”。
如何检查 uniqueIdentifier 调用是否成功,如果没有使用上述问题中提供的替代 UDID?
我可以检查 UIDevice 是否响应选择器吗?我可以检查一个 nil UDID 吗?
【问题讨论】:
-
[戴上魔鬼的代言人] 如果您担心如果您的用户不更新到您的应用程序的最新版本,它会因更新版本的 iOS 中断,他们为什么要更新到当不推荐使用的功能不存在时,您的应用程序的较新版本会“优雅地”降级? :D
-
@PeterM:这是一个很好的观点,但不幸的是我无法控制。但我可以控制我已经发现问题的事实,并且我们很快就会发布新版本,所以我可以解决这个问题,至少感觉很好。另外我不确定下一个版本何时发布,它将实施迁移,因此下一个版本应该尽可能强大。
-
我同意您需要生成尽可能健壮的代码。但是你知道你无法控制你的用户,所以没有必要担心他们,对旧版本采取“搞砸你”(以最好的方式)的态度可以真正解放你的开发工作!
-
确实如此。我想更大的问题是,我可能暂时无法获得另一个发布工具,所以如果我们不能将用户迁移出 UDID,那么如果/当 UDID 支持被移除时,最新版本不应该中断。
标签: ios deprecated