1 // Copyright 2015-present 650 Industries. All rights reserved. 2 3 import Foundation 4 5 @objc 6 public class EXDevLauncherURLHelper : NSObject { 7 @objc 8 public static func isDevLauncherURL(_ url: URL?) -> Bool { 9 return url?.host == "expo-development-client" 10 } 11 12 @objc 13 public static func replaceEXPScheme(_ url: URL, to scheme: String) -> URL { 14 var components = URLComponents.init(url: url, resolvingAgainstBaseURL: false)! 15 components.scheme = scheme 16 return components.url! 17 } 18 19 @objc 20 public static func getAppURLFromDevLauncherURL(_ url: URL) -> URL? { 21 let components = URLComponents.init(url: url, resolvingAgainstBaseURL: false) 22 for parameter in components?.queryItems ?? [] { 23 if parameter.name == "url" { 24 return URL.init(string: parameter.value?.removingPercentEncoding ?? "") 25 } 26 } 27 28 return nil; 29 } 30 } 31