如何从 Swift 中的深层链接获取重定向 url

How to get the redirect url from deeplink in Swift

如何从给定的重定向深层链接字符串中获取 URL?

例如,如果我有一个深层链接字符串

myapp://open-browser/https://mydaily.dev/JOURNAL/home?id=123e4567-e89b-12d3-a456-426655440000&source=01&channel_id=HOME

我希望得到 return 结果为

https://mydaily.dev/JOURNAL/home?id=123e4567-e89b-12d3-a456-426655440000&source=01&channel_id=HOME

我尝试了 Apple 文档中的几种方法 Accessing the Parts of a URL, 最接近的是结合 pathquery 如下图

有没有人有更好的方法来做到这一点?

我明白你的问题了,我想你只想得到从https://开始的url,请指正。

如果是这样,我想我可以删除深层链接 url 方案 myapp:// 和主机 open-browser/

let url = "myapp://open-browser/https://mydaily.dev/JOURNAL/home?id=123e4567-e89b-12d3-a456-426655440000&source=01&channel_id=HOME"

let deeplinkBase = "myapp://open-browser/"
let newUrl = url.absoluteString.replacingOccurrences(of: deeplinkBase, with: "")

那么你可以随意使用 newUrl 因为我们现在得到了预期的结果

https://mydaily.dev/JOURNAL/home?id=123e4567-e89b-12d3-a456-426655440000&source=01&channel_id=HOME

我的 deeplinkBase 字符串示例是硬编码的,但我想您以后可以使用枚举或任何处理程序。