iOS获取装备唯一标识和UUID

手机软件开发 2024-9-6 02:55:22 41 0 来自 中国
UIDevice.current.identifierForVendor?.uuidString以上获取uuidString的方法,每次重启都会改变。
但是项目标要求是稳定,而且删除app 只有也有有保存的需求。显然这个无法满意我们的需求。
利用KeyChain办理


  • keychain(钥匙串)存储在iOS体系中,而且恢复iPhone会使keychain的内容也恢复.但是删除App是不会影响keychain.
    差异App之间Keychain是不能相互访问的,但是可以通过设置keychain-sharing来办理。
  • 利用KeyChain生存到体系钥匙串中,然后再去获取相应的值,就可以保证删除app新装的app也能获取到第一次安装存储的值。显然是可以满意我们的需求的。
利用KeychainAccess的第三方类库来实现:


  • pod 引入包
  pod 'KeychainAccess'

  • 封装工具类
import UIKitimport KeychainAccessstruct UUIDTool{    static let KEYCHAIN_SERVICE:String = "com.wumeng.KeychainDemo"    static let IMEI_KEY:String = "IMEI"        static func getUUID() -> String{        let keychain = Keychain(service: KEYCHAIN_SERVICE)        var uuid:String = ""        do {            uuid = try keychain.get(IMEI_KEY) ?? ""        }        catch let error {            print(error)        }        print("1111 \(uuid)")        if uuid.isEmpty {            uuid = UUID().uuidString            do {                try keychain.set(uuid, key: IMEI_KEY)            }            catch let error {                print(error)                uuid = ""            }        }        return uuid    }    }

  • 利用方法:
UUIDTool.getUUID()如许就可以利用OK了!~
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-23 20:46, Processed in 0.169828 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表