summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLAccountManager.m
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLAccountManager.m')
-rw-r--r--platform/darwin/src/MGLAccountManager.m25
1 files changed, 6 insertions, 19 deletions
diff --git a/platform/darwin/src/MGLAccountManager.m b/platform/darwin/src/MGLAccountManager.m
index 48750e1d49..69170459bc 100644
--- a/platform/darwin/src/MGLAccountManager.m
+++ b/platform/darwin/src/MGLAccountManager.m
@@ -18,10 +18,6 @@ static NSString * const MGLAccountManagerExternalMethodName = @"skuToken";
@property (atomic) NSString *accessToken;
@property (nonatomic) NSURL *apiBaseURL;
-#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
-@property BOOL useExternalAccountManager;
-#endif
-
@end
@implementation MGLAccountManager
@@ -41,15 +37,6 @@ static NSString * const MGLAccountManagerExternalMethodName = @"skuToken";
if (apiBaseURL.length && [NSURL URLWithString:apiBaseURL]) {
[self setAPIBaseURL:[NSURL URLWithString:apiBaseURL]];
}
-
-#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
- // Check if we should use an external accounts library (e.g., provided by navigation)
- id externalAccountsClass = NSClassFromString(MGLAccountManagerExternalClassName);
- SEL externalSKUTokenMethod = NSSelectorFromString(MGLAccountManagerExternalMethodName);
- if (externalAccountsClass != nil && [externalAccountsClass respondsToSelector:externalSKUTokenMethod]) {
- MGLAccountManager.sharedManager.useExternalAccountManager = YES;
- }
-#endif
}
+ (instancetype)sharedManager {
@@ -109,13 +96,13 @@ static NSString * const MGLAccountManagerExternalMethodName = @"skuToken";
#if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR
+ (NSString *)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;
+ Class mbx = NSClassFromString(MGLAccountManagerExternalClassName);
+
+ if ([mbx respondsToSelector:NSSelectorFromString(MGLAccountManagerExternalMethodName)]) {
+ return (NSString *)[mbx valueForKeyPath:MGLAccountManagerExternalMethodName];
}
+
+ return MBXSKUToken.skuToken;
}
#endif