diff --git a/Libraries/LinkingIOS/RCTLinkingManager.m b/Libraries/LinkingIOS/RCTLinkingManager.m index 1a30422175b1de..5bbdd998f76e25 100644 --- a/Libraries/LinkingIOS/RCTLinkingManager.m +++ b/Libraries/LinkingIOS/RCTLinkingManager.m @@ -33,7 +33,18 @@ - (void)setBridge:(RCTBridge *)bridge - (NSDictionary *)constantsToExport { - NSURL *initialURL = _bridge.launchOptions[UIApplicationLaunchOptionsURLKey]; + NSURL *initialURL; + + if (_bridge.launchOptions[UIApplicationLaunchOptionsURLKey]) { + initialURL = _bridge.launchOptions[UIApplicationLaunchOptionsURLKey]; + } else if (_bridge.launchOptions[UIApplicationLaunchOptionsUserActivityDictionaryKey]) { + NSDictionary *userActivityDictionary = _bridge.launchOptions[UIApplicationLaunchOptionsUserActivityDictionaryKey]; + + if ([userActivityDictionary[UIApplicationLaunchOptionsUserActivityTypeKey] isEqual:NSUserActivityTypeBrowsingWeb]) { + initialURL = ((NSUserActivity *)userActivityDictionary[@"UIApplicationLaunchOptionsUserActivityKey"]).webpageURL; + } + } + return @{@"initialURL": RCTNullIfNil(initialURL.absoluteString)}; }