关于获取设备的唯一设备ID,MAC地址 IOS/Android问题
16lz
2021-01-26
Hi,大家好。 关于账号快速登录问题的解决方案。区分ios和Android,此时要获取机器的udid。 Android下很快解决了,调用几个系统API,网上解决办法一堆。总体来说Android下udid为IMEI+Mac地址,也就是这两个数据拼成的串。
而在ios5.0以后,官方为了保护用户隐私,删除了获取设备udid的接口,虽然代码还在,但是获取出来的数据已经不对。官方在ios7.0以后提供了一个获取udid的快速办法。 代码如下: CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault); NSString *uuid = (NSString *)CFUUIDCreateString (kCFAllocatorDefault,uuidRef);
然后官方的建议是把当前的udid储存到app本地,这时问题来了。当用户把app卸载之后,这个udid已经随着包的消失而消失了,这时就需要我们来解决这个udid储存的问题。网上找了各种解决办法,最后差不多半天时间找到了解决办法并解决了。OS X和IOS都有一个钥匙串的概念,ios的相比OS X简单。我们即需把这个udid储存到IOS的钥匙串里。 具体的内容还需谢谢下面这个链接的作者:点击打开链接 注:具体的设置group组信息的时候根据XCode版本不同可能方式不同。
即使IOS设备越狱后,该udid还是会在钥匙串中,数据存在。亲测。大家请放心。
开始写博客了,以后会在此处更新一些技术方面的文章。该篇文章算是一个总结,该内容是在之前做过的,可能感觉大家也遇到过该类问题。 如果有不懂的,可以联系我。可以提供内容讲解以及操作。
而在ios5.0以后,官方为了保护用户隐私,删除了获取设备udid的接口,虽然代码还在,但是获取出来的数据已经不对。官方在ios7.0以后提供了一个获取udid的快速办法。 代码如下: CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault); NSString *uuid = (NSString *)CFUUIDCreateString (kCFAllocatorDefault,uuidRef);
然后官方的建议是把当前的udid储存到app本地,这时问题来了。当用户把app卸载之后,这个udid已经随着包的消失而消失了,这时就需要我们来解决这个udid储存的问题。网上找了各种解决办法,最后差不多半天时间找到了解决办法并解决了。OS X和IOS都有一个钥匙串的概念,ios的相比OS X简单。我们即需把这个udid储存到IOS的钥匙串里。 具体的内容还需谢谢下面这个链接的作者:点击打开链接 注:具体的设置group组信息的时候根据XCode版本不同可能方式不同。
即使IOS设备越狱后,该udid还是会在钥匙串中,数据存在。亲测。大家请放心。
开始写博客了,以后会在此处更新一些技术方面的文章。该篇文章算是一个总结,该内容是在之前做过的,可能感觉大家也遇到过该类问题。 如果有不懂的,可以联系我。可以提供内容讲解以及操作。
更多相关文章
- 在Android中为啥建议你用Message.obtain()方法获取Message对象,而
- 关于Android串口通讯总结
- 打好Android基础,实战中运用基础
- Android(安卓)设备唯一标识生成方式
- Android初级教程:Android中解析方式之pull解析
- Android和Linux的时间戳
- Android获取内置、外置以及OTG等方式挂载的存储设备路径
- Android获取当前应用分配的最大内存和目前使用内存的方法
- Android基于IIS的APK下载(三)用JSON传输更新数据