现在的位置: 首页 > 综合 > 正文

在iOS5中的UDID替代方案

2014年01月11日 ⁄ 综合 ⁄ 共 740字 ⁄ 字号 评论关闭

围绕iOS应用程序侵犯用户隐私问题,苹果如今已正式拒绝那些访问用户设备UDID的应用上架App Store。开发商将要对自己的应用做出更新,确定不会访问用户设备UDID后方可上架。

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------

 

在iOS5以前,可以使用 [[UIDevice currentDevice] uniqueIdentifier]获得当前设备的UDID。
    在iOS5中,apple出于用户隐私的考虑,将禁止获得设置的UDID作为当前用户的标识,这个函数被deprecated掉了。
    但是实际应用中,很多时候需要这样一个用户唯一标识码。去stackoverflow上看了一下,基本的观点就是采用MAC地址来替代UDID。
    但是直接使用MAC地址是不安全的,因为MAC地址在网络访问的时候会传给服务器,服务器很容易获得用户的MAC地址。
    所以变通的方法是在MAC地址的基础上再做一层MD5,使得生成的标识码不可逆。
    网上这篇文章
http://ios5source.com/2011/08/21/udid-alternate/
提出用 mac + app bundle,再做MD5,最后用生成的串当作用户的标识码。应该是一个不错的方案。
     相应的源码在 github上:

https://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5

【上篇】
【下篇】

抱歉!评论已关闭.