From 1a3a5cb2e6713cef84e2f1fefe521d78c8aeeb3a Mon Sep 17 00:00:00 2001 From: Andreas Linde Date: Mon, 23 Sep 2013 15:22:37 +0200 Subject: [PATCH] Clean up appIdentifier and keychain servicename to be defined only once --- Classes/BITHockeyBaseManager.m | 34 ++++++++++++++++++---------------- Classes/BITHockeyHelper.h | 3 +++ Classes/BITHockeyHelper.m | 11 ++++++++++- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/Classes/BITHockeyBaseManager.m b/Classes/BITHockeyBaseManager.m index e139edda26..23526243ec 100644 --- a/Classes/BITHockeyBaseManager.m +++ b/Classes/BITHockeyBaseManager.m @@ -97,7 +97,7 @@ } - (NSString *)encodedAppIdentifier { - return (_appIdentifier ? bit_URLEncodedString(_appIdentifier) : bit_URLEncodedString([self mainBundleIdentifier])); + return bit_encodeAppIdentifier(_appIdentifier); } - (BOOL)isPreiOS7Environment { @@ -259,42 +259,44 @@ if (!key || !stringValue) return NO; - NSString *serviceName = [NSString stringWithFormat:@"%@.HockeySDK", [self mainBundleIdentifier]]; - NSError *error = nil; - return [BITKeychainUtils storeUsername:key andPassword:stringValue forServiceName:serviceName updateExisting:YES error:&error]; + return [BITKeychainUtils storeUsername:key + andPassword:stringValue + forServiceName:bit_keychainHockeySDKServiceName() + updateExisting:YES + error:&error]; } - (BOOL)addStringValueToKeychainForThisDeviceOnly:(NSString *)stringValue forKey:(NSString *)key { if (!key || !stringValue) return NO; - NSString *serviceName = [NSString stringWithFormat:@"%@.HockeySDK", [self mainBundleIdentifier]]; - NSError *error = nil; - return [BITKeychainUtils storeUsername:key andPassword:stringValue forServiceName:serviceName updateExisting:YES accessibility:kSecAttrAccessibleWhenUnlockedThisDeviceOnly error:&error]; + return [BITKeychainUtils storeUsername:key + andPassword:stringValue + forServiceName:bit_keychainHockeySDKServiceName() + updateExisting:YES + accessibility:kSecAttrAccessibleWhenUnlockedThisDeviceOnly + error:&error]; } - (NSString *)stringValueFromKeychainForKey:(NSString *)key { if (!key) return nil; - NSString *serviceName = [NSString stringWithFormat:@"%@.HockeySDK", [self mainBundleIdentifier]]; - NSError *error = nil; - return [BITKeychainUtils getPasswordForUsername:key andServiceName:serviceName error:&error]; + return [BITKeychainUtils getPasswordForUsername:key + andServiceName:bit_keychainHockeySDKServiceName() + error:&error]; } - (BOOL)removeKeyFromKeychain:(NSString *)key { - NSString *serviceName = [NSString stringWithFormat:@"%@.HockeySDK", [self mainBundleIdentifier]]; - NSError *error = nil; - return [BITKeychainUtils deleteItemForUsername:key andServiceName:serviceName error:&error]; + return [BITKeychainUtils deleteItemForUsername:key + andServiceName:bit_keychainHockeySDKServiceName() + error:&error]; } -- (NSString*) mainBundleIdentifier { - return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleIdentifier"]; -} #pragma mark - Manager Control diff --git a/Classes/BITHockeyHelper.h b/Classes/BITHockeyHelper.h index ea7758d30e..678938d917 100644 --- a/Classes/BITHockeyHelper.h +++ b/Classes/BITHockeyHelper.h @@ -34,7 +34,10 @@ NSString *bit_URLEncodedString(NSString *inputString); NSString *bit_URLDecodedString(NSString *inputString); NSString *bit_base64String(NSData * data, unsigned long length); +NSString *bit_keychainHockeySDKServiceName(void); + NSComparisonResult bit_versionCompare(NSString *stringA, NSString *stringB); +NSString *bit_mainBundleIdentifier(void); NSString *bit_encodeAppIdentifier(NSString *inputString); NSString *bit_appName(NSString *placeHolderString); NSString *bit_appAnonID(void); diff --git a/Classes/BITHockeyHelper.m b/Classes/BITHockeyHelper.m index 03dcf446b9..927d8b08aa 100644 --- a/Classes/BITHockeyHelper.m +++ b/Classes/BITHockeyHelper.m @@ -113,6 +113,11 @@ NSString *bit_base64String(NSData * data, unsigned long length) { return result; } +NSString *bit_keychainHockeySDKServiceName(void) { + NSString *serviceName = [NSString stringWithFormat:@"%@.HockeySDK", bit_mainBundleIdentifier()]; + return serviceName; +} + NSComparisonResult bit_versionCompare(NSString *stringA, NSString *stringB) { // Extract plain version number from self NSString *plainSelf = stringA; @@ -137,8 +142,12 @@ NSComparisonResult bit_versionCompare(NSString *stringA, NSString *stringB) { return result; } +NSString *bit_mainBundleIdentifier(void) { + return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleIdentifier"]; +} + NSString *bit_encodeAppIdentifier(NSString *inputString) { - return (inputString ? bit_URLEncodedString(inputString) : bit_URLEncodedString([[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleIdentifier"])); + return (inputString ? bit_URLEncodedString(inputString) : bit_URLEncodedString(bit_mainBundleIdentifier())); } NSString *bit_appName(NSString *placeHolderString) {