当我得到它时,我的 iphone 得到了不同的 UDID from itunes像这样以编程方式
UDID:String = UIDevice.current.identifierForVendor!.uuidString
基本上我试图为我的 iphone 获取一个唯一标识符,就像我们有 android 手机的 mac 地址一样。
最佳答案
一种最简单的方法是通过将 identifierForVendor 存储在钥匙串(keychain)中来解决此问题。即使您卸载应用程序, key 的值也保持不变。许多第三方库可用于执行此操作。其中之一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 ?? ""
}
}
关于ios - 从同一部 iPhone 获取两个不同的设备 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47858394/