IOS 学习iOS开发

iOS获取设备唯一标识和UUID

2022-06-01  本文已影响0人  心猿意码_
UIDevice.current.identifierForVendor?.uuidString

以上获取uuidString的方法,每次重启都会改变。
但是项目的要求是不变,并且删除app 只有也有有保留的需求。显然这个无法满足我们的需求。

使用KeyChain解决
使用KeychainAccess的第三方类库来实现:
  pod 'KeychainAccess'

import UIKit

import KeychainAccess

struct 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了!~

上一篇 下一篇

猜你喜欢

热点阅读