如何获取设备唯一性的ID

需要一个能够标识设备唯一性的ID


Apple解决方案
1、使用CFUUIDCreateString(NULL, CFUUIDCreate(NULL))生成UUID
2、将UUID缓存在本地,sqlite或plist。使用时取出
评价:
坑爹!这种方式每次UUID生成一次都不一样,如果产品被fuck out of device,再装载会导致两次UUID不一致。这个方案明显适用范围狠窄啊亲。于是乎各路妖魔鬼怪开始了各种解决方案。


方案一:(Mac地址+bundle_id)
1、获取本地mac地址和应用bundle_id
2、将mac+bundle_id进行散列运算获得机器+应用的唯一标识
3、只将mac进行散列运算获得机器的唯一标识
评价:
狠好的解决方案,如果没有2B的联通搅局,这个方案可以说完美了,取wifi的mac地址除,非你修机器把wifi换掉。但是亲,中国曾经出过太监版3GS,泥马,这是一种怎样的考量删除了wifi啊。这种拍脑袋的做法就是当局的2B,联通跟着傻B。what the fuck!你说还有其他方案不,不要依赖硬件?


方案二:(推送token+bundle_id)
1、应用中增加推送用来获取token
2、获取应用bundle_id
3、根据token+bundle_id进行散列运算
评价:
apple push token保证设备唯一,但必须有网络情况下才能工作,该方法不依赖于设备本身,但依赖于apple push。加上一定的业务逻辑可以解决大部分情景。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值