1 // Copyright 2015-present 650 Industries. All rights reserved. 2 // 3 // Contains logic for figuring out how to take care of deep links. 4 5 #import "EXLinkingManager.h" 6 #import "EXReactAppManager.h" 7 #import "EXUtil.h" 8 9 @interface EXKernelLinkingManager : NSObject 10 <EXLinkingManagerScopedModuleDelegate, EXUtilScopedModuleDelegate> 11 12 /** 13 * Either opens the url on an existing bridge, or sends it to the kernel 14 * for opening on a new bridge. 15 */ 16 - (void)openUrl:(NSString *)urlString isUniversalLink:(BOOL)isUniversalLink; 17 18 /** 19 * Returns the deep link prefix for a given experience uri. 20 */ 21 + (NSString *)linkingUriForExperienceUri:(NSURL *)uri; 22 23 /** 24 * Normalize a uri and (if needed) subtitute 25 * standalone-app-specific deep link formatting. 26 */ 27 + (NSURL *)uriTransformedForLinking:(NSURL *)uri isUniversalLink:(BOOL)isUniversalLink; 28 29 + (NSString *)stringByRemovingDeepLink:(NSString *)path; 30 31 # pragma mark - app-wide linking handlers 32 33 + (BOOL)application:(UIApplication *)application 34 openURL:(NSURL *)URL 35 sourceApplication:(NSString *)sourceApplication 36 annotation:(id)annotation; 37 38 + (BOOL)application:(UIApplication *)application 39 continueUserActivity:(NSUserActivity *)userActivity 40 restorationHandler:(void (^)(NSArray *))restorationHandler; 41 42 + (NSURL *)initialUrlFromLaunchOptions: (NSDictionary *)launchOptions; 43 44 @end 45