Swift获取苹果分配的IDFV作为设备唯一标识符

Swift 里的 IDFV 其实还挺实用的,尤其是你想识别同一个开发者名下的多个 App 时,效果比 UUID 还稳。苹果自己的UIDevice.current.identifierForVendor属性就能直接拿到,简单直接,隐私合规也不用太担心。

苹果分配的IDFV,全称“Identifier for Vendor”,就是给你一个开发者在某台设备上的唯一标识。只要用户没把你家的 App 全卸了,它就一直有效,跨 App 用起来贼方便,像多 App 同步用户设置、数据共享啥的都靠它。

Swift 代码也简单:

if let uuid = UIDevice.current.identifierForVendor?.uuidString {
  print("设备的 IDFV:\(uuid)")
}

它的唯一性可重置性也值得注意。只要用户把你家的 App 全删了,IDFV 就清空了;重新装 App,它就是个新 IDFV。用的时候记得别死绑定,要考虑这种“变脸”的情况。

以前有个UDID,也能唯一标识设备,但因为太暴力、太容易泄露用户信息,苹果早就不用它了。相比之下,IDFV 就“乖”多了,还符合 Apple 的隐私政策。

有个叫ZBUUID的小工具库,听名字像是帮你更方便地管理 UUID、IDFV 的。你可以统一做一些 ID 生成、缓存、对比的事,开发多 App 联动功能时还挺顺手的。

如果你在做多 App 联动,或者需要在 App 内识别用户但又不想搞得太复杂,那 IDFV 真是一个值得上手的小技巧。要是再配上个轻量封装库,开发效率能快一截。

zip
swift-获取一个由苹果分配给应用开发者对每个设备唯一的IDFV作为UUID.zip 预估大小:16个文件
folder
ZBUUID-master 文件夹
folder
ZBUUID 文件夹
file
ViewController.swift 423B
file
Info.plist 1KB
file
AppDelegate.swift 2KB
folder
keychainswift 文件夹
file
KeychainSwiftDistrib.swift 17KB
folder
ZBUUID 文件夹
file
ZBUUID.swift 5KB
folder
Base.lproj 文件夹
file
LaunchScreen.storyboard 2KB
file
Main.storyboard 2KB
file
ZBUUID.entitlements 300B
folder
Assets.xcassets 文件夹
folder
AppIcon.appiconset 文件夹
file
Contents.json 2KB
file
Contents.json 62B
file
README.md 4KB
folder
ZBUUID.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
folder
xcshareddata 文件夹
file
IDEWorkspaceChecks.plist 238B
file
contents.xcworkspacedata 151B
folder
xcuserdata 文件夹
folder
nickluo.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 25KB
folder
xcuserdata 文件夹
folder
nickluo.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 341B
file
project.pbxproj 14KB
zip 文件大小:34.27KB