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给出了哪个值的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 设备 UUID - PhoneGap

如何将 UIImage 传递给 phonegap 以在 Image 控件中查看?

如何使用PhoneGap程序将AdMob广告嵌入到你的HTML5 iOS游戏中

Phonegap中ios的蓝牙插件

IOS中Phonegap高度变化?

IOS/android + phonegap/cordova框架中的返回键