ios用户唯一标识现在有没有什么好的方法获得iOS设备的唯一标示
推荐回答
凡是接触过iOS的开发者都清楚每一台iOS设备都有一个唯一的识别号:UDID,这个40位的字符串是你的设备区别于其他任何一台设备的唯一标识。这个字符串用处非常大,可以把它作为用户的唯一ID,跳过用户登陆这一步,直接有效并且安全地与数据库中的用户记录进行绑定。虽然UDID本身并不含有任何用户信息,但是由于应用开发者可以将UDID与服务器上用户信息进行绑定,从而带来了诸多隐私泄漏等问题,所以苹果最终还是拒绝开发者访问UDID的官方接口,建议开发者使用CFUUID来代替UDID。CFUUID有很多问题,如果从一台设备将系统备份到另一个设备,两个设备就会拥有相同的CFUUID,如果从临时文件中备份系统,就会出现一个设备中出现不同的CFUUID,但是尽管如此,CFUUID还是所有UDID替代品中最靠谱的一个。除此之外,一些第三方开发者也基于CFUUID包装了对用户更友好的类,OpenUDID是开发者使用的比较广泛的一个。
梅金红2019-12-22 00:18:34
提示您:回答为网友贡献,仅供参考。
其他回答
-
现在apple不让用uuid了所以大部分人开始使用广告标识符,adidentifier。
齐春妮2019-12-22 00:54:20
-
关于MAC地址,为物理地址,是不可以改的,但可以用软件做地址欺骗。其实很多硬件有ID号的,如主板\CPU\内存\硬盘等。但大部分都检测不到。判断计算机唯一标识,一般都用主板的ID号。几乎所有硬件检测软件都可以检测得到。或者采用多硬件混合采集比如:网卡+硬盘+主板。
龚山珍2019-12-22 00:36:24
-
1.已禁用-;每种方法都适配一种特别的用法:identifierForVendor对供应商来说是唯一的一个值,也就是说,由同一个公司发行的的app在相同的设备上运行的时候都会有这个相同的标识符。然而,如果用户删除了这个供应商的app然后再重新安装的话,这个标识符就会不一致。advertisingIdentifier会返回给在这个设备上所有软件供应商相同的一个值,所以只能在广告的时候使用。这个值会因为很多情况而有所变化,比如说用户初始化设备的时候便会改变。
赵高坤2019-12-22 00:06:12
-
IOS系统中,获取设备唯一标识的方法有很多:一.UDIDUniqueDeviceIdentifierUDID的全称是UniqueDeviceIdentifier,顾名思义,它就是苹果IOS设备的唯一识别码,它由40个字符的字母和数字组成。二.UUIDUniversallyUniqueIdentifierUUID是UniversallyUniqueIdentifier的缩写,中文意思是通用唯一识别码.三.MACAddress四.OPENUDID五.广告标示符。通常情况下,IOS系统用NSUserDefaults存储数据信息,但是对于一些私密信息,比如密码、证书等等,就需要使用更为安全的keychain了。keychain里保存的信息不会因App被删除而丢失。所以,可以利用这个keychain这个特点来保存设备唯一标识。那么,如何在应用里使用使用keyChain呢,我们需要导入Security.framework,keychain的操作接口声明在头文件SecItem.h里。直接使用SecItem.h里方法操作keychain,需要写的代码较为复杂,我们可以使用已经封装好了的工具类KeychainItemWrapper来对keychain进行操作。KeychainItemWrapper是apple官方例子“GenericKeychain”里一个访问keychain常用操作的封装类,在官网上下载了GenericKeychain项目后,只需要把“KeychainItemWrapper.h”和“KeychainItemWrapper.m”拷贝到我们项目,并导入Security.framework。KeychainItemWrapper的用法:/**初始化一个保存用户帐号的KeychainItemWrapper*/KeychainItemWrapper*wrapper=;其中方法“-voidsetObject:idinObjectforKey:idkey;”里参数“forKey”的值应该是Security.framework里头文件“SecItem.h”里定义好的key,用其他字符串做key程序会出错。
黄盈椿2019-12-21 23:54:44