You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2015/07/28 20:21:40 UTC
[3/7] cordova-plugin-device git commit: Check user defaults first to
maintain backwards compatibility
Check user defaults first to maintain backwards compatibility
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/commit/6416f605
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/tree/6416f605
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/diff/6416f605
Branch: refs/heads/master
Commit: 6416f60528a2ee1418c50c0791e8373bed40f39f
Parents: 810c3c9
Author: Jordan <jo...@gmail.com>
Authored: Sat Jul 18 19:55:58 2015 +1200
Committer: Jordan <jo...@gmail.com>
Committed: Sat Jul 18 19:55:58 2015 +1200
----------------------------------------------------------------------
src/ios/CDVDevice.m | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-device/blob/6416f605/src/ios/CDVDevice.m
----------------------------------------------------------------------
diff --git a/src/ios/CDVDevice.m b/src/ios/CDVDevice.m
index 9225cbc..ffb22e2 100644
--- a/src/ios/CDVDevice.m
+++ b/src/ios/CDVDevice.m
@@ -6,9 +6,9 @@
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
-
+
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -28,13 +28,13 @@
- (NSString*)modelVersion
{
size_t size;
-
+
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char* machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString* platform = [NSString stringWithUTF8String:machine];
free(machine);
-
+
return platform;
}
@@ -47,14 +47,26 @@
- (NSString*)uniqueAppInstanceIdentifier:(UIDevice*)device
{
- return [[device identifierForVendor] UUIDString];
+ 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) {
+ app_uuid = [[device identifierForVendor] UUIDString];
+ [userDefaults setObject:app_uuid forKey:UUID_KEY];
+ [userDefaults synchronize];
+ }
+
+ return app_uuid;
}
- (void)getDeviceInfo:(CDVInvokedUrlCommand*)command
{
NSDictionary* deviceProperties = [self deviceProperties];
CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:deviceProperties];
-
+
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}
@@ -62,14 +74,14 @@
{
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;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org