add Universal Links support to Linking.getInitialURL(). Fixes #6099

Summary:Currently, Linking.getInitialURL() only supports custom URL scheme and not Universal Links. This PR fixes that. see #6099
Closes https://github.com/facebook/react-native/pull/6147

Differential Revision: D2976902

Pulled By: javache

fb-gh-sync-id: 750fe4a7c251ba57433c3a24866a4a510f125069
shipit-source-id: 750fe4a7c251ba57433c3a24866a4a510f125069
This commit is contained in:
Dae San Hwang 2016-02-25 07:08:33 -08:00 committed by facebook-github-bot-7
parent 3ed66ee7b5
commit f0689cf534
1 changed files with 12 additions and 1 deletions

View File

@ -33,7 +33,18 @@ RCT_EXPORT_MODULE()
- (NSDictionary<NSString *, id> *)constantsToExport - (NSDictionary<NSString *, id> *)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)}; return @{@"initialURL": RCTNullIfNil(initialURL.absoluteString)};
} }