URL host在iOS 16.1
和macOS 13
上已过时,但替代项在某些情况下会崩溃。
替换选项为host(percentEncoded:)
示例:
let url = URL(string: "lorem.com")
print(url?.host) // deprecated warning, prints nil
print(url?.host()) // crash: Thread 1: EXC_BREAKPOINT (code=1, subcode=0x18084f9d4)
虽然lorem.com
不符合RFC 1808
(最常见的URL形式),但请求它的主机通常会返回nil
,而不是崩溃。
使用host(percentEncoded: true)
或host(percentEncoded: false)
时的行为相同。
是否有解决方法?
1条答案
按热度按时间relj7zay1#
这似乎是Foundation框架上的一个错误,我已经打开了一个关于反馈助理的错误报告。
当它得到修复时,我建议继续使用
host
的弃用版本,否则你会在以前工作的代码中崩溃,特别是如果你在某些情况下依赖主机返回nil。