From 6608ab3a68a3fb52b6beb47d63f76d5b2b915eb8 Mon Sep 17 00:00:00 2001 From: granbestiapop Date: Fri, 4 Jul 2025 11:39:50 -0300 Subject: [PATCH] fix: extract NSURL from launch options --- .../Plugins/Platforms/iOS/iOSLifecycleEvents.swift | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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