从同一个iPhone获取两个不同的设备ID

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从同一个iPhone获取两个不同的设备ID相关的知识,希望对你有一定的参考价值。

当我得到from itunes并以编程方式这样时,我为我的iphone获得不同的UDID

UDID:String = UIDevice.current.identifierForVendor!.uuidString

基本上我试图获取我的iPhone的唯一标识符,就像我们有android手机的mac地址。

答案

最简单的方法是通过在keychain中存储identifierForVendor来解决这个问题。即使您卸载应用程序,密钥的值保持不变并且保持不变。许多第三方库可以执行此操作。其中一个https://github.com/jrendel/SwiftKeychainWrapper

func getGlobalUniqueIdentifierFromKeyChain()->String{

    let retrievedString: String? = KeychainWrapper.standard.string(forKey: "DeviceId")

    if  retrievedString == nil{
        if let deviceKey  = UIDevice.current.identifierForVendor?.uuidString{
            let _ = KeychainWrapper.standard.set(deviceKey, forKey: "DeviceId")
        }
    }

    if let globalID = KeychainWrapper.standard.string(forKey: "DeviceId"){
        return globalID
    }else{
        return UIDevice.current.identifierForVendor?.uuidString ?? ""
    }
}

以上是关于从同一个iPhone获取两个不同的设备ID的主要内容,如果未能解决你的问题,请参考以下文章

从 iPhone NFC 获取唯一 ID

Android 使用两个不同的代码片段获取当前位置 NULL

推送通知被发送到不同的应用程序

Android能够获取到唯一的设备ID吗

ios8中的键盘高度不同

为 iPhone 5 加载不同的 xib