UUID

与UDID不同,UDID获取的是真实的设备唯一编码,但该方式涉及用户隐私,已作废。苹果给出的方案是用UUID取代。

UUID由系统根据每个App的不同分配ID,如果App删除重装,系统会分配一个全新的ID。

IDFA:广告ID,专门给各广告提供商用来追踪用户的。用户可以在 设置|隐私|广告追踪 里重置此id的值,或限制此id的使用,故此id有可能会取不到值。由于IDFA会出现取不到的情况,故绝不可以作为业务分析的主ID,来识别用户。

为了给用户提供可持续的服务,以及保障用户的账户安全,有必要对账户所登录的设备ID发生变化的时候,做出及时的反应。因此,将UUID保存在KeyChain里,能够应对当用户卸载重装应用后,应用还能识别出是原来的客户。

但是刷机或重装系统后UUID还是会改变。

获取的时机

有用户系统的应用,应该在用户登录后立即获取并保存、对照识别UUID.

使用

使用第三方工具 KeychainAccess 。其是适用于 iOS 和 OS X 的对 Keychain 的简单封装。使得在 Swift 中使用 Keychain 的 API 变得非常容易。

1
pod 'KeychainAccess'