App Transport Security 异常域是否可以在运行时修改?

Can App Transport Security exception domains be modified at runtime?

在我的应用程序中,API 在运行时提供图像和视频的域,我需要允许建立这些连接。使用 NSAllowsArbitraryLoads 似乎是我现在唯一能做的令人满意的事情,但我想利用 ATS 并只将运行时提供的这个简短的域列表列入白名单。

根据App Transport Security Technote,所有这些域都在编译时复制的Info.plist中设置。对于对这些特定域的请求,是否可以在运行时允许 HTTP 或放宽 TLS 要求?

不,ATS 策略是在编译时定义的。我的猜测是它可能成为签名应用程序包的一部分并且不能被篡改。

在您的情况下,通常需要允许不安全的传输。如果您使用的 API 端点支持 TLS,那么您可以在策略文件中将这些域指定为需要安全性的例外。