diff --git a/flutter_appauth/ios/Classes/FlutterAppauthPlugin.m b/flutter_appauth/ios/Classes/FlutterAppauthPlugin.m index 293cf8c0..d6f44cd4 100644 --- a/flutter_appauth/ios/Classes/FlutterAppauthPlugin.m +++ b/flutter_appauth/ios/Classes/FlutterAppauthPlugin.m @@ -483,12 +483,17 @@ - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options: (NSDictionary *)options { - if ([_currentAuthorizationFlow resumeExternalUserAgentFlowWithURL:url]) { - _currentAuthorizationFlow = nil; - return YES; + @try { + if ([_currentAuthorizationFlow resumeExternalUserAgentFlowWithURL:url]) { + _currentAuthorizationFlow = nil; + return YES; + } + return NO; + } @catch (NSException *exception) { + NSLog(@"Exception caught: %@, Reason: %@", exception.name, + exception.reason); + @throw; } - - return NO; } - (BOOL)application:(UIApplication *)application @@ -502,11 +507,17 @@ - (BOOL)application:(UIApplication *)application #if TARGET_OS_OSX - (void)handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent { - NSString *URLString = - [[event paramDescriptorForKeyword:keyDirectObject] stringValue]; - NSURL *URL = [NSURL URLWithString:URLString]; - [_currentAuthorizationFlow resumeExternalUserAgentFlowWithURL:URL]; - _currentAuthorizationFlow = nil; + @try { + NSString *URLString = + [[event paramDescriptorForKeyword:keyDirectObject] stringValue]; + NSURL *URL = [NSURL URLWithString:URLString]; + [_currentAuthorizationFlow resumeExternalUserAgentFlowWithURL:URL]; + _currentAuthorizationFlow = nil; + } @catch (NSException *exception) { + NSLog(@"Exception caught: %@, Reason: %@", exception.name, + exception.reason); + @throw; + } } #endif