是否有像每个iPhone / iPod Touch的mac地址一样的唯一ID?
我是否必须要求用户传输此类唯一ID的权限?
答案 0 :(得分:7)
是的,你可以使用UIDevice的uniqueIdentifier属性获取它:
唯一设备标识符是由各种硬件标识符(例如设备的序列号)组成的哈希值。它保证对每个设备都是唯一的,但不能公开地绑定到用户帐户。例如,您可以使用它在中央服务器中存储游戏的高分或控制对已注册产品的访问。唯一设备标识符有时由其缩写UDID引用。
编辑:在iOS5中不推荐使用uniqueIdentifier属性,您现在不应该使用它。作为替代方案,您可以生成自己的唯一ID(例如,检查this questions)。
同样在iOS6中,Apple添加了两种新方法来获取唯一标识符(作为NSUUID类的实例):
UIDevice -identifierForVendor :
此属性的值对于来自的应用程序是相同的 在同一设备上运行的同一供应商。返回不同的值 对于来自不同供应商的同一设备上的应用程序,以及 不同设备上的应用程序与供应商有关。
ASIdentifierManager -advertisingIdentifier :
与UIDevice的identifierForVendor属性不同,相同 值返回给所有供应商。此标识符可能会更改 例如,如果用户删除了设备,那么就不应该缓存它。