summaryrefslogtreecommitdiff
path: root/StoneIsland/plugins/cordova-plugin-device/src/ios
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/plugins/cordova-plugin-device/src/ios')
-rw-r--r--[-rwxr-xr-x]StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.h0
-rw-r--r--[-rwxr-xr-x]StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.m51
2 files changed, 32 insertions, 19 deletions
diff --git a/StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.h b/StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.h
index a146d882..a146d882 100755..100644
--- a/StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.h
+++ b/StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.h
diff --git a/StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.m b/StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.m
index 5a3f4708..4d75a574 100755..100644
--- a/StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.m
+++ b/StoneIsland/plugins/cordova-plugin-device/src/ios/CDVDevice.m
@@ -19,6 +19,7 @@
#include <sys/types.h>
#include <sys/sysctl.h>
+#include "TargetConditionals.h"
#import <Cordova/CDV.h>
#import "CDVDevice.h"
@@ -49,21 +50,23 @@
{
NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
static NSString* UUID_KEY = @"CDVUUID";
-
+
+ // Check user defaults first to maintain backwards compaitibility with previous versions
+ // which didn't user identifierForVendor
NSString* app_uuid = [userDefaults stringForKey:UUID_KEY];
-
if (app_uuid == nil) {
- CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault);
- CFStringRef uuidString = CFUUIDCreateString(kCFAllocatorDefault, uuidRef);
+ if ([device respondsToSelector:@selector(identifierForVendor)]) {
+ app_uuid = [[device identifierForVendor] UUIDString];
+ } else {
+ CFUUIDRef uuid = CFUUIDCreate(NULL);
+ app_uuid = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, uuid);
+ CFRelease(uuid);
+ }
- app_uuid = [NSString stringWithString:(__bridge NSString*)uuidString];
[userDefaults setObject:app_uuid forKey:UUID_KEY];
[userDefaults synchronize];
-
- CFRelease(uuidString);
- CFRelease(uuidRef);
}
-
+
return app_uuid;
}
@@ -78,17 +81,16 @@
- (NSDictionary*)deviceProperties
{
UIDevice* device = [UIDevice currentDevice];
- NSMutableDictionary* devProps = [NSMutableDictionary dictionaryWithCapacity:4];
- [devProps setObject:@"Apple" forKey:@"manufacturer"];
- [devProps setObject:[device modelVersion] forKey:@"model"];
- [devProps setObject:@"iOS" forKey:@"platform"];
- [devProps setObject:[device systemVersion] forKey:@"version"];
- [devProps setObject:[self uniqueAppInstanceIdentifier:device] forKey:@"uuid"];
- [devProps setObject:[[self class] cordovaVersion] forKey:@"cordova"];
-
- NSDictionary* devReturn = [NSDictionary dictionaryWithDictionary:devProps];
- return devReturn;
+ return @{
+ @"manufacturer": @"Apple",
+ @"model": [device modelVersion],
+ @"platform": @"iOS",
+ @"version": [device systemVersion],
+ @"uuid": [self uniqueAppInstanceIdentifier:device],
+ @"cordova": [[self class] cordovaVersion],
+ @"isVirtual": @([self isVirtual])
+ };
}
+ (NSString*)cordovaVersion
@@ -96,4 +98,15 @@
return CDV_VERSION;
}
+- (BOOL)isVirtual
+{
+ #if TARGET_OS_SIMULATOR
+ return true;
+ #elif TARGET_IPHONE_SIMULATOR
+ return true;
+ #else
+ return false;
+ #endif
+}
+
@end