ios中phonegap的device.uuid给出了哪个值

时间:2014-12-03 11:08:37

标签: android ios cordova

就像Android设备中的手机间隙一样,给出了android_id。类似地,在ios中,phonegap的device.uuid给出了哪个id。

2 个答案:

答案 0 :(得分:0)

iOS上不再存在UDID。您无法在iOS上获得任何硬件标识符。 Apple不再允许这样做。

正如documentation of PhoneGap中所述,identifierForVendor将被退回:

  

iOS Quirk

     

iOS上的uuid并非设备独有,而是因各设备而异   应用程序,用于每个安装。如果你删除和它会改变   重新安装应用程序,也可能在升级iOS时,甚至是   每个版本升级应用程序(在iOS 5.1中显而易见)。 uuid不是   可靠的价值。

答案 1 :(得分:0)

在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