diff options
author | Jason Wray <jason@mapbox.com> | 2019-06-04 19:56:30 -0700 |
---|---|---|
committer | Jason Wray <jason@mapbox.com> | 2019-06-04 20:29:39 -0700 |
commit | af64bce82491603efb1da00f34a2f7a09e6e7ef0 (patch) | |
tree | 5a4e7efc87b0d3c6eb6094c7451516c2975d16be | |
parent | 1f51b564c42a87f3e2938841c7a241b52cf0332e (diff) | |
download | qtlocation-mapboxgl-af64bce82491603efb1da00f34a2f7a09e6e7ef0.tar.gz |
Explicitly define a return type for stringy selector
-rw-r--r-- | platform/darwin/src/MGLAccountManager.m | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/platform/darwin/src/MGLAccountManager.m b/platform/darwin/src/MGLAccountManager.m index ca23825984..48750e1d49 100644 --- a/platform/darwin/src/MGLAccountManager.m +++ b/platform/darwin/src/MGLAccountManager.m @@ -20,8 +20,6 @@ static NSString * const MGLAccountManagerExternalMethodName = @"skuToken"; #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR @property BOOL useExternalAccountManager; -@property id externalAccountsClass; -@property SEL externalSKUTokenMethod; #endif @end @@ -50,8 +48,6 @@ static NSString * const MGLAccountManagerExternalMethodName = @"skuToken"; SEL externalSKUTokenMethod = NSSelectorFromString(MGLAccountManagerExternalMethodName); if (externalAccountsClass != nil && [externalAccountsClass respondsToSelector:externalSKUTokenMethod]) { MGLAccountManager.sharedManager.useExternalAccountManager = YES; - MGLAccountManager.sharedManager.externalAccountsClass = externalAccountsClass; - MGLAccountManager.sharedManager.externalSKUTokenMethod = externalSKUTokenMethod; } #endif } @@ -113,9 +109,13 @@ static NSString * const MGLAccountManagerExternalMethodName = @"skuToken"; #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR + (NSString *)skuToken { - return MGLAccountManager.sharedManager.useExternalAccountManager ? - [MGLAccountManager.sharedManager.externalAccountsClass performSelector:MGLAccountManager.sharedManager.externalSKUTokenMethod] : - MBXSKUToken.skuToken; + if (MGLAccountManager.sharedManager.useExternalAccountManager) { + id externalAccountsClass = NSClassFromString(MGLAccountManagerExternalClassName); + SEL externalSKUTokenMethod = NSSelectorFromString(MGLAccountManagerExternalMethodName); + return ((NSString *(*)(id, SEL))[externalAccountsClass methodForSelector:externalSKUTokenMethod])(externalAccountsClass, externalSKUTokenMethod); + } else { + return MBXSKUToken.skuToken; + } } #endif |