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