diff --git a/src/ios/ShareExtension/ShareViewController.m b/src/ios/ShareExtension/ShareViewController.m index 409a0f3..3fc2d75 100644 --- a/src/ios/ShareExtension/ShareViewController.m +++ b/src/ios/ShareExtension/ShareViewController.m @@ -88,18 +88,31 @@ - (void) openURL:(nonnull NSURL *)url { NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:methodSignature]; // Arguments - NSDictionary *options = [NSDictionary dictionary]; void (^completion)(BOOL success) = ^void(BOOL success) { NSLog(@"Completions block: %i", success); }; - - [invocation setTarget: responder]; - [invocation setSelector: selector]; - [invocation setArgument: &url atIndex: 2]; - [invocation setArgument: &options atIndex:3]; - [invocation setArgument: &completion atIndex: 4]; - [invocation invoke]; - break; + if (@available(iOS 13.0, *)) { + UISceneOpenExternalURLOptions * options = [[UISceneOpenExternalURLOptions alloc] init]; + options.universalLinksOnly = false; + + [invocation setTarget: responder]; + [invocation setSelector: selector]; + [invocation setArgument: &url atIndex: 2]; + [invocation setArgument: &options atIndex:3]; + [invocation setArgument: &completion atIndex: 4]; + [invocation invoke]; + break; + } else { + NSDictionary *options = [NSDictionary dictionary]; + + [invocation setTarget: responder]; + [invocation setSelector: selector]; + [invocation setArgument: &url atIndex: 2]; + [invocation setArgument: &options atIndex:3]; + [invocation setArgument: &completion atIndex: 4]; + [invocation invoke]; + break; + } } } }