From fd3db034276b28e4769cd8b339280885f2e4d288 Mon Sep 17 00:00:00 2001 From: ericlewis Date: Mon, 25 Feb 2019 11:35:55 -0800 Subject: [PATCH] Update openUrl (#23640) Summary: Fix deprecation with openUrl, handles feedback in #17011. [iOS] [Fixed] - openUrl deprecation Pull Request resolved: https://github.com/facebook/react-native/pull/23640 Differential Revision: D14211015 Pulled By: hramos fbshipit-source-id: 9c8fa9f61aaa14542af9456dc39f6bfabd6a1405 --- Libraries/LinkingIOS/RCTLinkingManager.m | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Libraries/LinkingIOS/RCTLinkingManager.m b/Libraries/LinkingIOS/RCTLinkingManager.m index bf1f575e8f6..5507673b0a9 100644 --- a/Libraries/LinkingIOS/RCTLinkingManager.m +++ b/Libraries/LinkingIOS/RCTLinkingManager.m @@ -88,12 +88,23 @@ RCT_EXPORT_METHOD(openURL:(NSURL *)URL resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) { - BOOL opened = [RCTSharedApplication() openURL:URL]; - if (opened) { - resolve(nil); + if (@available(iOS 10.0, *)) { + [RCTSharedApplication() openURL:URL options:@{} completionHandler:^(BOOL success) { + if (success) { + resolve(nil); + } else { + reject(RCTErrorUnspecified, [NSString stringWithFormat:@"Unable to open URL: %@", URL], nil); + } + }]; } else { - reject(RCTErrorUnspecified, [NSString stringWithFormat:@"Unable to open URL: %@", URL], nil); + BOOL opened = [RCTSharedApplication() openURL:URL]; + if (opened) { + resolve(nil); + } else { + reject(RCTErrorUnspecified, [NSString stringWithFormat:@"Unable to open URL: %@", URL], nil); + } } + } RCT_EXPORT_METHOD(canOpenURL:(NSURL *)URL