From 91cc767d38a220df2d2bfd02ba72a93ad92eafbf Mon Sep 17 00:00:00 2001 From: Thomas Dohmke Date: Sun, 25 Mar 2012 18:44:14 +0200 Subject: [PATCH] Even more conservative approach that doesn't use UIDevice#uniqueIdentifier at all. Instead, you need to implement the delegate method. Forced delegate to implement CNSHockeyManagerDelegate protocol. --- Classes/BWHockeyManager.h | 12 ++++-------- Classes/BWHockeyManager.m | 5 ----- Classes/CNSHockeyManager.h | 15 ++++++--------- Classes/CNSHockeyManager.m | 4 ++-- 4 files changed, 12 insertions(+), 24 deletions(-) diff --git a/Classes/BWHockeyManager.h b/Classes/BWHockeyManager.h index fbfe8828fe..5fac1180af 100644 --- a/Classes/BWHockeyManager.h +++ b/Classes/BWHockeyManager.h @@ -239,17 +239,13 @@ typedef enum { /////////////////////////////////////////////////////////////////////////////////////////////////// @protocol BWHockeyManagerDelegate - -#if HOCKEY_BLOCK_UDID == 0 || defined (CONFIGURATION_Debug) || defined (CONFIGURATION_AdHoc) || defined (CONFIGURATION_Beta) -@optional -#endif /* Return the device UDID which is required for beta testing, should return nil for app store configuration! - The default implementation would be like: - + Example implementation if your configuration for the App Store is called "AppStore": + #ifndef (CONFIGURATION_AppStore) - if ([[UIDevice currentDevice] respondsToSelector:@selector(uniqueIdentifier)]) - return [[UIDevice currentDevice] performSelector:@selector(uniqueIdentifier)]; + if ([[UIDevice currentDevice] respondsToSelector:@selector(uniqueIdentifier)]) + return [[UIDevice currentDevice] performSelector:@selector(uniqueIdentifier)]; #endif return nil; diff --git a/Classes/BWHockeyManager.m b/Classes/BWHockeyManager.m index 57c13f03b6..c5b32fd022 100644 --- a/Classes/BWHockeyManager.m +++ b/Classes/BWHockeyManager.m @@ -237,11 +237,6 @@ static NSString *kHockeyErrorDomain = @"HockeyErrorDomain"; } - (NSString *)deviceIdentifier { -#if HOCKEY_BLOCK_UDID == 0 || defined (CONFIGRATION_Debug1) || defined (CONFIGRATION_AdHoc) || defined (CONFIGURATION_Beta) - if ([[UIDevice currentDevice] respondsToSelector:@selector(uniqueIdentifier)]) - return [[UIDevice currentDevice] performSelector:@selector(uniqueIdentifier)]; -#endif - if ([delegate_ respondsToSelector:@selector(customDeviceIdentifier)]) { NSString *identifier = [delegate_ performSelector:@selector(customDeviceIdentifier)]; if (identifier && [identifier length] > 0) { diff --git a/Classes/CNSHockeyManager.h b/Classes/CNSHockeyManager.h index 535c5faee5..6f4e71b4ee 100644 --- a/Classes/CNSHockeyManager.h +++ b/Classes/CNSHockeyManager.h @@ -25,16 +25,13 @@ @protocol CNSHockeyManagerDelegate -#if HOCKEY_BLOCK_UDID == 0 || defined (CONFIGURATION_Debug) || defined (CONFIGURATION_AdHoc) || defined (CONFIGURATION_Beta) -@optional -#endif /* Return the device UDID which is required for beta testing, should return nil for app store configuration! - The default implementation would be like: + Example implementation if your configuration for the App Store is called "AppStore": #ifndef (CONFIGURATION_AppStore) - if ([[UIDevice currentDevice] respondsToSelector:@selector(uniqueIdentifier)]) - return [[UIDevice currentDevice] performSelector:@selector(uniqueIdentifier)]; + if ([[UIDevice currentDevice] respondsToSelector:@selector(uniqueIdentifier)]) + return [[UIDevice currentDevice] performSelector:@selector(uniqueIdentifier)]; #endif return nil; @@ -103,7 +100,7 @@ @interface CNSHockeyManager : NSObject { @private - id delegate; + id delegate; NSString *appIdentifier; } @@ -224,11 +221,11 @@ // Configure HockeyApp with a single app identifier and delegate; use this // only for debug or beta versions of your app! -- (void)configureWithIdentifier:(NSString *)appIdentifier delegate:(id)delegate; +- (void)configureWithIdentifier:(NSString *)appIdentifier delegate:(id)delegate; // Configure HockeyApp with different app identifiers for beta and live versions // of the app; the update alert will only be shown for the beta identifier -- (void)configureWithBetaIdentifier:(NSString *)betaIdentifier liveIdentifier:(NSString *)liveIdentifier delegate:(id)delegate; +- (void)configureWithBetaIdentifier:(NSString *)betaIdentifier liveIdentifier:(NSString *)liveIdentifier delegate:(id)delegate; // Returns true if the app crashes in the last session - (BOOL)didCrashInLastSession; diff --git a/Classes/CNSHockeyManager.m b/Classes/CNSHockeyManager.m index 35425d9834..7d50c995cd 100644 --- a/Classes/CNSHockeyManager.m +++ b/Classes/CNSHockeyManager.m @@ -361,13 +361,13 @@ - (void)configureQuincyManager { [[BWQuincyManager sharedQuincyManager] setAppIdentifier:appIdentifier]; - [[BWQuincyManager sharedQuincyManager] setDelegate:delegate]; + [[BWQuincyManager sharedQuincyManager] setDelegate:(id)delegate]; } - (void)configureHockeyManager { [[BWHockeyManager sharedHockeyManager] setAppIdentifier:appIdentifier]; [[BWHockeyManager sharedHockeyManager] setCheckForTracker:YES]; - [[BWHockeyManager sharedHockeyManager] setDelegate:delegate]; + [[BWHockeyManager sharedHockeyManager] setDelegate:(id)delegate]; // Only if JMC is part of the project if ([[self class] isJMCPresent]) {