在iOS5中的UDID替代方案

围绕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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值