summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wray <jason@mapbox.com>2019-06-04 19:56:30 -0700
committerJason Wray <jason@mapbox.com>2019-06-04 20:29:39 -0700
commitaf64bce82491603efb1da00f34a2f7a09e6e7ef0 (patch)
tree5a4e7efc87b0d3c6eb6094c7451516c2975d16be
parent1f51b564c42a87f3e2938841c7a241b52cf0332e (diff)
downloadqtlocation-mapboxgl-af64bce82491603efb1da00f34a2f7a09e6e7ef0.tar.gz
Explicitly define a return type for stringy selector
-rw-r--r--platform/darwin/src/MGLAccountManager.m14
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