From fe4307fb6545f7feb699a1ac890e6e4d1d8731c2 Mon Sep 17 00:00:00 2001 From: Thomas Dohmke Date: Thu, 22 Mar 2012 13:23:34 +0100 Subject: [PATCH] Enabled clang in support project and enabled warning for unrecognized selectors. Added clang statements to ignore warning for JMC selectors if JMC is not part of the project. --- Classes/CNSHockeyManager.m | 9 +++++++++ Support/HockeySDK.xcodeproj/project.pbxproj | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/Classes/CNSHockeyManager.m b/Classes/CNSHockeyManager.m index 5a71cab631..b69a2d7692 100644 --- a/Classes/CNSHockeyManager.m +++ b/Classes/CNSHockeyManager.m @@ -61,6 +61,8 @@ } #endif +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wundeclared-selector" + (id)jmcInstance { id jmcClass = NSClassFromString(@"JMC"); if ((jmcClass) && ([jmcClass respondsToSelector:@selector(sharedInstance)])) { @@ -74,6 +76,7 @@ return nil; } +#pragma clang diagnostic pop + (BOOL)isJMCActive { id jmcInstance = [self jmcInstance]; @@ -86,6 +89,8 @@ #pragma mark - Private Class Methods +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wundeclared-selector" + (void)disableJMCCrashReporter { id jmcInstance = [self jmcInstance]; id jmcOptions = [jmcInstance performSelector:@selector(options)]; @@ -99,6 +104,7 @@ [invocation setArgument:&value atIndex:2]; [invocation invoke]; } +#pragma clang diagnostic pop + (BOOL)checkJMCConfiguration:(NSDictionary *)configuration { return (([configuration isKindOfClass:[NSDictionary class]]) && @@ -108,6 +114,8 @@ ([[configuration valueForKey:@"project"] length] > 0)); } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wundeclared-selector" + (void)applyJMCConfiguration:(NSDictionary *)configuration { id jmcInstance = [self jmcInstance]; SEL configureSelector = @selector(configureJiraConnect:projectKey:apiKey:); @@ -124,6 +132,7 @@ [invocation setArgument:&key atIndex:4]; [invocation invoke]; } +#pragma clang diagnostic pop #pragma mark - Public Instance Methods (Configuration) diff --git a/Support/HockeySDK.xcodeproj/project.pbxproj b/Support/HockeySDK.xcodeproj/project.pbxproj index a15e5bc1e1..8769b148cf 100644 --- a/Support/HockeySDK.xcodeproj/project.pbxproj +++ b/Support/HockeySDK.xcodeproj/project.pbxproj @@ -288,9 +288,12 @@ GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_STRICT_SELECTOR_MATCH = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 3.0; OTHER_CFLAGS = ""; + RUN_CLANG_STATIC_ANALYZER = YES; SDKROOT = iphoneos; }; name = Debug; @@ -309,9 +312,12 @@ GCC_VERSION = ""; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_STRICT_SELECTOR_MATCH = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 3.0; OTHER_CFLAGS = ""; + RUN_CLANG_STATIC_ANALYZER = YES; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; };