uniappx nsapptransportsecurity 如何配置
在uniappx开发中,如何正确配置NSAppTransportSecurity以满足iOS应用的安全传输要求?具体需要修改哪些配置文件,能否提供完整的ATS配置示例?有些第三方接口要求允许不安全的HTTP请求,这种情况下应该如何设置例外域名?
2 回复
在 manifest.json 的 app-plus 下添加:
"ios": {
"ATS": {
"NSAllowsArbitraryLoads": true
}
}
注意:上架 App Store 需说明理由,否则可能被拒。
在 UniApp X 中,NSAppTransportSecurity(ATS)是 iOS 平台的网络安全配置,用于控制 App 是否允许不安全的 HTTP 请求或自定义域名访问。配置方法如下:
步骤:
- 打开项目的
manifest.json文件。 - 在
"app-plus"→"distribute"→"ios"节点下添加"ATS"配置。
示例配置:
{
"app-plus": {
"distribute": {
"ios": {
"ATS": {
"NSAllowsArbitraryLoads": true, // 允许所有 HTTP 请求(不推荐)
"NSExceptionDomains": {
"example.com": {
"NSIncludesSubdomains": true,
"NSTemporaryExceptionAllowsInsecureHTTPLoads": true,
"NSTemporaryExceptionMinimumTLSVersion": "TLSv1.1"
}
}
}
}
}
}
}
参数说明:
NSAllowsArbitraryLoads:设为true时允许所有 HTTP 请求(仅用于测试,上架 App Store 可能被拒)。NSExceptionDomains:针对特定域名配置例外:NSIncludesSubdomains:是否包含子域名。NSTemporaryExceptionAllowsInsecureHTTPLoads:允许该域名使用 HTTP。NSTemporaryExceptionMinimumTLSVersion:指定最低 TLS 版本。
注意事项:
- 提交 App Store 时,若启用
NSAllowsArbitraryLoads需在审核信息中说明理由。 - 推荐仅通过
NSExceptionDomains配置必要域名,确保安全性。
保存配置后重新编译项目即可生效。

