最近看到新闻,苹果已经开始拒绝访问了UDID的App提交到App Store了,轰轰烈烈的用户隐私保护运动似乎初见成效。但是程序员们似乎要郁闷了,没有了UDID,我们该如何追踪用户呢?
长期以来,iOS程序员们使用UIDevice.uniqueIdentifier作为追踪单一用户(设备)的标识。在iOS5.0 SDK中,我们可以看到uniqueIdentifier已经被注明为Deprecated的了,但是官方文档也提供了建议的替代方案,也就是本文的第一种替代方案。
方案一:
使用UUID,根据官方文档的说法:
Do not use the uniqueIdentifier
property. To create a unique identifier specific to your app, you can call the CFUUIDCreate
function to create a UUID, and write it to the defaults database using the NSUserDefaults
class.
我们应该使用CFUUIDCreate来创建一个UUID作为该用户(设备)在本应用的唯一标识,并且结合NSUserDefaults在第一次创建之后,一直使用该该UUID。稍后给出代码链接…
方案二:
使用MAC地址(网卡物理地址)
参考链接:http://iphonedevelopertips.com/device/determine-mac-address.html
但是使用MAC地址与使用uniqueIdentifier没有本质区别,还是违背了保护用户隐私的初衷,并且苹果未来完全可以采取相同的措施。
方案三:
使用第三方的服务,例如OpenFeint宣布的OFUID,OpenUDID,或者只允许注册会员使用,结合会员系统追踪用户。
本文转载自:http://blog.csdn.net/lovenjoe/article/details/8766726