diff --git a/Sources/Segment/Plugins/Platforms/iOS/iOSLifecycleEvents.swift b/Sources/Segment/Plugins/Platforms/iOS/iOSLifecycleEvents.swift index 5783c65..5c809b8 100644 --- a/Sources/Segment/Plugins/Platforms/iOS/iOSLifecycleEvents.swift +++ b/Sources/Segment/Plugins/Platforms/iOS/iOSLifecycleEvents.swift @@ -56,7 +56,7 @@ class iOSLifecycleEvents: PlatformPlugin, iOSLifecycle { } let sourceApp: String = launchOptions?[UIApplication.LaunchOptionsKey.sourceApplication] as? String ?? "" - let url: String = launchOptions?[UIApplication.LaunchOptionsKey.url] as? String ?? "" + let url = urlFrom(launchOptions) analytics?.track(name: "Application Opened", properties: [ "from_background": false, @@ -101,6 +101,16 @@ class iOSLifecycleEvents: PlatformPlugin, iOSLifecycle { } analytics?.track(name: "Application Foregrounded") } + + private func urlFrom(_ launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> String { + if let url = launchOptions?[UIApplication.LaunchOptionsKey.url] as? String { + return url + } + if let url = launchOptions?[UIApplication.LaunchOptionsKey.url] as? NSURL, let rawUrl = url.absoluteString { + return rawUrl + } + return "" + } } #endif