From 836a8e0e4d04f5844f560c0a5feb43518bbdb748 Mon Sep 17 00:00:00 2001 From: Ilja Daderko Date: Tue, 26 Mar 2019 12:01:26 -0700 Subject: [PATCH] Fix universal links not working in iOS 12 / Xcode 10 (#22764) Summary: fix #22716 Changelog: ---------- [iOS][Fixed] - Fix universal links in iOS 12 / Xcode 10 Pull Request resolved: https://github.com/facebook/react-native/pull/22764 Differential Revision: D14576559 Pulled By: cpojer fbshipit-source-id: 4ef727e1d9aa7646359b63468285fec1f8f1651b --- Libraries/LinkingIOS/RCTLinkingManager.h | 7 ++++++- Libraries/LinkingIOS/RCTLinkingManager.m | 8 ++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Libraries/LinkingIOS/RCTLinkingManager.h b/Libraries/LinkingIOS/RCTLinkingManager.h index de38c85de62..b0d8d005350 100644 --- a/Libraries/LinkingIOS/RCTLinkingManager.h +++ b/Libraries/LinkingIOS/RCTLinkingManager.h @@ -22,6 +22,11 @@ + (BOOL)application:(nonnull UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity - restorationHandler:(nonnull void (^)(NSArray *__nullable))restorationHandler; + restorationHandler: + #if __has_include() && defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= 12000) /* __IPHONE_12_0 */ + (nonnull void (^)(NSArray> *_Nullable))restorationHandler; + #else + (nonnull void (^)(NSArray *_Nullable))restorationHandler; + #endif @end diff --git a/Libraries/LinkingIOS/RCTLinkingManager.m b/Libraries/LinkingIOS/RCTLinkingManager.m index 768f47edb06..353d0f78b96 100644 --- a/Libraries/LinkingIOS/RCTLinkingManager.m +++ b/Libraries/LinkingIOS/RCTLinkingManager.m @@ -67,8 +67,12 @@ RCT_EXPORT_MODULE() + (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity - restorationHandler:(void (^)(NSArray * __nullable))restorationHandler -{ + restorationHandler: + #if __has_include() && defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= 12000) /* __IPHONE_12_0 */ + (nonnull void (^)(NSArray> *_Nullable))restorationHandler { + #else + (nonnull void (^)(NSArray *_Nullable))restorationHandler { + #endif if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) { NSDictionary *payload = @{@"url": userActivity.webpageURL.absoluteString}; [[NSNotificationCenter defaultCenter] postNotificationName:kOpenURLNotification