ios中phonegap的device.uuid给出了哪个值
Posted
技术标签:
【中文标题】ios中phonegap的device.uuid给出了哪个值【英文标题】:device.uuid of the phonegap in ios gives which value 【发布时间】:2014-12-03 11:08:36 【问题描述】:就像 android device.uuid 的 phone gap 给出了 android_id 。同样在 ios 中,phonegap 的 device.uuid 给出了哪个 id。
【问题讨论】:
【参考方案1】:UDID 在 iOS 上不再是可重复的。您无法在 iOS 上获取任何硬件标识符。 Apple 不再允许这样做。
如documentation of PhoneGap 中所述,将返回identifierForVendor
:
iOS 怪癖
iOS 上的 uuid 并非设备独有,而是因设备而异 应用程序,每次安装。如果您删除并更改它 重新安装应用程序,也可能在您升级 iOS 时,甚至 按版本升级应用程序(在 iOS 5.1 中很明显)。 uuid 不是 可靠的价值。
【讨论】:
android device.uuid 中的示例给出了本机的 ANDROID_ID 值,同样对于 ios device.uuid 给出了哪个值 你看了你的回答了吗!正如PhoneGap 文档中所述,它为您提供identifierForVendor
。
应该按照文档来。【参考方案2】:
在 cordova 3.7.0 上,对于 iOS 它返回
- (NSString*)uniqueAppInstanceIdentifier
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
static NSString* UUID_KEY = @"CDVUUID";
NSString* app_uuid = [userDefaults stringForKey:UUID_KEY];
if (app_uuid == nil)
CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
CFStringRef uuidString = CFUUIDCreateString(kCFAllocatorDefault, uuidRef);
app_uuid = [NSString stringWithString:(__bridge NSString*)uuidString];
[userDefaults setObject:app_uuid forKey:UUID_KEY];
[userDefaults synchronize];
CFRelease(uuidString);
CFRelease(uuidRef);
return app_uuid;
https://developer.apple.com/library/ios/documentation/CoreFoundation/Reference/CFUUIDRef/index.html
在 android 上返回
public String getUuid()
String uuid = Settings.Secure.getString(this.cordova.getActivity().getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
return uuid;
http://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID
【讨论】:
以上是关于ios中phonegap的device.uuid给出了哪个值的主要内容,如果未能解决你的问题,请参考以下文章
如何将 UIImage 传递给 phonegap 以在 Image 控件中查看?