当前位置: 网站首页  >> 资讯  >> 查看详情

对于IOSApple设备,获取设备的唯一标识非常重要。然后一位朋友问,我们应该如何操作,具体流程是什么?今天的IOS签名编辑器将详细介绍如何获取设备的唯一标识。有需要的朋友可以与我们讨论:

乌迪德

UDID(uniquedeviceidentifier)是IOS设备的唯一标识码,是一个40位的十六进制序列(越狱设备可以通过一些工具更改设备的UDID)。移动网络可以使用UDID识别移动设备。

许多开发者将UDID与用户的真实姓名、密码、地址和其他数据联系起来。网络窥探者会从多个应用程序中收集这些数据,然后获取此人的大量隐私数据。同时,大多数应用程序确实经常传输UDID和私人信息。为了避免集体诉讼,苹果最终决定在IOS5中废除这种做法。

现在,该应用程序获取UDID的尝试已被禁止,不允许被搁置。

MAC地址

MAC(medium/mediaaccesscontrol)地址是一个六字节(48位)的十六进制序列,用于表示Internet上每个站点的标识符。前三个字节是IEEE注册管理组织Ra分配给不同制造商的“组织唯一标识符”。最后三个字节分配给每个制造商生产的适配器接口,称为扩展标识符。

MAC地址用于区分网络上设备的唯一性。所有连接到网络的设备都有一个MAC地址,并且它们必须是唯一的。iPhone上可能有多个MAC地址,包括WiFi、SIM等,但iTouch和iPad上只有一个WiFi,因此您只需要获取WiFiMAC地址。通常,将获得mdbunde5的唯一ID。

然而,与UDID一样,MAC地址也存在隐私问题。ios7之后,所有设备在请求MAC地址时都会返回一个固定值。这种方法也会弄巧成拙。

OpenUDID

在UDID被放弃后,开发者需要找到一个可以取代UDID的解决方案,并且不受苹果的控制。因此,openudid成为当时使用最广泛的开源UDID替代品。Openudid使用一种非常聪明的方式在不同的程序之间存储标识符:在粘贴板中使用一个特殊的名称来存储标识符,其他应用程序也可以获取该标识符。

苹果在IOS7之后限制了粘贴板,因此同一设备上的应用程序不能再共享openudid。

UUID自存储

UUID(通用唯一标识符)是一个32位的十六进制序列,由一条小横线连接:8-4-4-4-12,通过NSUID(在ios6之后)[NSUIDUUID]Uuidstring或cfuuid(在ios2之后)CfBridgengRelease(cfuuidcreatestring(kForAllocatorDefault,cfuuidcreate(kForAllocatorDefault)),但每次获得的值都不同,需要自己存储。

按tokenbundleid

Pushtoken确保设备是唯一的,但它只能在有网络的情况下工作。这种方法不依赖于设备本身,而是依赖于applepush,它有时会爆炸。

以色列国防军

IDFAidentifierforidentifier(广告标识符),同一设备上的所有应用程序将获得相同的值,这是苹果专门为广告提供商设置的,用于跟踪用户。虽然iPhone默认允许跟踪,而且大多数用户不知道有这样的设置,但用户可以在“设置-隐私-广告跟踪”中重置此ID的值,或者限制此ID的使用,因此他们可能无法获得该值。

IDFV

通过[uidevicecurrentdevice]identifierforvendor为供应商提供IDEV标识(供应商标识)。Uuidstring。这是匹配通过前两个部分的倒装。例如,如果同一个供应商是同一个供应商,则为comyan。App1和com-yan。app2的两个BundleID属于同一个供应商,共享同一个IDTV。与IDFA不同,可以获得idfv的值。因此,它非常适合将用户识别为内部用户行为的主要ID。但是,如果用户删除应用程序,IDCV值将重置。如果再次安装应用程序,则idfv值与前一个不同。

IDFVkeychain

通过以上几种存储唯一标识的方法,我们可以总结它们的优缺点。许多方法被苹果禁止,或者存在太多漏洞,开发者越来越少使用这些漏洞。现在苹果主要推广IDFA和idfv,它们分别是外部的和内部的,但idfv在重新安装应用时会发生变化,所以我的方法是将第一次生成的idfv存储在钥匙链中,以后每次都从钥匙链中获取标识符。

 
发布日期:2022-05-13 15:08:31