uniapp中iOS白名单对URL Scheme的作用是什么
在uniapp开发中,iOS的白名单配置对URL Scheme的具体作用是什么?是否需要为每个自定义的URL Scheme单独配置白名单?如果没正确配置会导致哪些功能异常?白名单的格式要求是怎样的,能否举例说明?
2 回复
iOS白名单用于允许应用通过URL Scheme调用其他应用。在uniapp中,配置白名单后,iOS系统才会允许应用跳转到指定应用,否则会被系统拦截。
在UniApp中,iOS白名单对URL Scheme的作用是允许应用通过预定义的URL Scheme与其他应用或系统功能进行安全通信。具体作用如下:
-
权限控制:iOS要求应用在访问其他应用的URL Scheme前,必须在
Info.plist中声明目标Scheme的白名单(通过LSApplicationQueriesSchemes数组)。未列出的Scheme将无法被调用,防止恶意应用随意探测或跳转。 -
功能调用:通过白名单注册的URL Scheme,UniApp应用可以使用
uni.navigateToMiniProgram()或window.location.href等方式跳转到其他应用(如微信、支付宝),或调用系统功能(如拨号、邮件)。
示例代码(在UniApp项目的manifest.json中配置):
{
"app-plus": {
"distribute": {
"ios": {
"urlschemewhitelist": ["weixin", "alipay", "tel"] // 声明微信、支付宝、拨号的白名单
}
}
}
}
注意事项:
- 白名单仅声明可跳转的目标,不涉及自身应用的URL Scheme暴露。
- 配置后需重新打包生效,真机调试时可能需手动修改Xcode工程中的
Info.plist。
通过白名单机制,iOS确保了应用间交互的安全性,避免未授权的Scheme调用。

