前言
iOS设备5.0以上放弃使用[[UIDevice currentDevice] uniqueIdentifier]来获得设备唯一ID
iOS设备私有方法禁止用户获取和使用IMEI
需求
需要一个能够标识设备唯一性的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。加上一定的业务逻辑可以解决大部分情景。
方案三:openUUID
我不知道是谁想出来的,而且还有很多博客里都说这个是解决方案,还弄的长篇大论,我实在看不出来这个方案和apple提供的UUID方案有什么不同。这种方案各种无解,删除应用后还是没法解决问题啊亲。
分享到:
相关推荐
在iOS开发中,获取设备名称和生成设备唯一标识符是两个关键操作,它们对于调试、统计分析、个性化服务以及安全措施都有重要作用。本资源“ios-获取iOS设备名称及生成设备唯一标识符.zip”提供了相关的代码库...
1. iOS:在iOS系统中,通常使用UDID(Unique Device Identifier)作为设备的唯一标识。然而,由于隐私保护政策的改变,自iOS 6开始,Apple不再提供UDID。现在,开发者可以使用广告标识符(IDFA,Identifier for ...
本文将详细讲解如何在iOS系统中获取设备的唯一标识,并讨论相关的重要知识点。 首先,我们需要理解“UUID”(Universally Unique Identifier)的概念。UUID是一个128位的数字,设计用来在全球范围内生成唯一的...
本篇文章将深入探讨如何在iOS上合法且有效地取得设备的唯一标志,同时遵循Apple的隐私政策。 在iOS 5之前,开发者可以使用UDID(Unique Device Identifier)来标识每个设备。UDID是一个全局唯一的40位16进制字符串...
在开发者账户中,需要将参与测试的设备的UDID(唯一设备标识符)添加进去,这样才可以将应用安装到该设备上进行测试。 然后是创建Provisioning Profile(配置文件)。配置文件是iOS开发和测试过程中的一个重要环节...
在iOS开发中,获取设备的唯一标识是一个常见的需求,它有助于开发者区分不同的用户设备,进行个性化设置、数据同步或者分析用户行为。然而,由于隐私保护的考虑,Apple对获取设备唯一标识符的方法进行了严格的限制。...
"ios-条形码,二维码生成器.zip" 提供了一个解决方案,帮助开发者实现在iOS设备上动态生成条形码和二维码,并且考虑到了扫描设备的兼容性问题。下面我们将详细探讨相关知识点。 1. **条形码与二维码的原理**: ...
首先,我们要明确一点:Apple出于隐私考虑,从iOS 7开始,不再推荐使用UDID(Unique Device Identifier)作为设备的唯一标识,而是提供了多个替代方案,如广告标识符(IDFA)、设备应用共享ID(Identifier for ...
综上所述,面对苹果对设备标识符的限制,iOS开发者可以利用OpenUUID或钥匙串等方法生成和存储设备的唯一标识。在实际应用中,应注重隐私保护,合理设计和使用这些标识符,以满足业务需求的同时,遵守苹果的开发规定...
首先,UUID是iOS设备的一个唯一标识符,用于区分不同的设备。在iOS 5之前,开发者可以直接通过`UIDevice`类的`uniqueIdentifier`属性来获取UUID。然而,由于隐私和安全原因,从iOS 5开始,苹果不再推荐使用`...
"iOS生成桌面icon"是指为iOS应用创建在用户设备主屏幕上显示的个性化图标的过程。AppWebClip-master.zip文件包含的资源和代码可能是一个帮助开发者快速生成iOS桌面快捷方式(Web Clip)的工具,它可以模拟真实应用...
在Android开发中,获取手机的唯一标识是一个常见的需求,用于区分不同的设备,便于数据分析或个性化服务。Android系统提供了多种方式来获取设备的标识,但随着系统版本的更新和隐私保护政策的变化,这些方法的可用性...
在iOS应用开发中,图标是应用的视觉标识,一套完整的图标包括启动图、App Icon、Spotlight Icon等,它们在不同设备和操作系统版本下有不同的尺寸要求。为了减轻开发者的工作量,"快速生成iOS APP全套icon工具...
本文将详细讲解如何在Android和iOS平台上获取设备的唯一标识。 首先,我们来看看Android平台上的实现方法。在Android系统中,曾经有多种方式可以获取设备的唯一标识,如IMEI(International Mobile Equipment ...
在iOS平台上,二维码和条形码的生成与扫描是移动应用开发中常见且重要的功能,尤其是在数据交换、产品追溯和用户交互方面。本篇将详细阐述如何在iOS中实现这一功能,主要涉及以下知识点: 一、了解二维码和条形码 1...
在iOS开发中,获取设备的唯一标识是一个常见的需求,这有助于开发者追踪和识别特定设备,以便提供个性化服务或同步用户数据。"获取ios设备号"这个主题涉及到的主要知识点包括UDID(Unique Device Identifier)、UUID...
在标题“ios/iphone设备号、识别号”中提到的问题,实际上是在探讨如何在苹果限制获取UDID之后,如何生成或识别iOS设备的唯一标识。虽然不能直接获取UDID,但开发者可以利用其他方式来实现类似的功能。 1. **广告...
为了解决无MAC地址的问题,开发者可以创建自定义服务和特征,在连接后通过读取这些特征来交换设备的唯一标识符,这个标识符由应用自己生成和维护。 10. **安全性**: 在设计BLE通信时,应考虑到安全性,例如使用...
在iOS应用开发中,App Icon是用户界面的重要组成部分,它代表了应用的视觉标识,吸引用户的注意力,并在设备上提供直观的识别。然而,为不同的iOS设备和系统版本准备所有必要的Icon尺寸是一项繁琐的任务,尤其是对于...
在iOS开发中,获取设备唯一标识的目的是为了追踪和区分不同的设备,以便提供个性化服务、数据分析或推送通知。然而,由于隐私保护的原因,苹果不断调整其政策,限制了某些获取设备标识的方法。以下是对8种获取iOS...