diff --git a/docs/app-ios-schemewhitelist.md b/docs/app-ios-schemewhitelist.md new file mode 100644 index 0000000000000000000000000000000000000000..70d75bc76b4866dde6e4f801baac81817f0914a6 --- /dev/null +++ b/docs/app-ios-schemewhitelist.md @@ -0,0 +1,120 @@ +从iOS9开始系统安全策略更新,加入对用户隐私以及禁止扫描系统信息的控制,限制了应用对scheme协议的访问。需要将其它App注册的scheme添加到应用访问白名单(LSApplicationQueriesSchemes)中才能实现以下功能: +- 通过scheme检查其它App是否安装,不添加到白名单则检测结果为未安装(即使应用已经安装) +- 通过scheme协议调用其它App,不添加到白名单则会弹出提示框,用户确认后才能启动应用,添加到白名单列表后则无需用户确认直接启动应用。 + +**注意:iOS15及以上系统限制每个应用最多只能配置50个白名单列表,超过50个的白名单会失效** +在配置白名单时需要注意以下问题: +- 部分模块使用的三方SDK(如微信登录)需要添加白名单列表,三方SDK添加的白名单优先级高于manifest.json中配置的白名单 +- uni原生插件可能也会添加白名单列表,uni原生插件添加的白名单优先级高于manifest.json中配置的白名单 + + +### 设置应用访问白名单列表 + +#### 可视化界面配置 +打开项目的manifest.json文件,切换到“App常用其它设置”项,在“iOS设置”下的“应用访问白名单”编辑框中配置: +![](https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/ios/chemewhitelist.png) + +**注意:多个白名单列表使用“,”分割** + +> 提示:如果可视化界面无法编辑,请切换到“源码视图”配置 + + +#### 源码视图配置 +打开项目的manifest.json文件,切换到“代码视图” + +- uni-app项目 +在manifest.json文件的"app-plus"->"distribute"->"ios"下添加urlschemewhitelist节点数据如下: +``` json +"plus": { +"distribute": { + "ios": { + "urlschemewhitelist": "baidumap,iosamap", + //... + }, + //... +}, +//... +}, +//... +``` + +- 5+ App/Wap2App项目 +把上面的urlschemewhitelist节点数据放到manifest.json的"plus"->"distribute"->"apple"节点下 + +**提示** +>低版本HBuilderX中urlschemewhitelist字段值为数组类型,如下: +>``` json +>"urlschemewhitelist": ["baidumap","iosamap"] +>``` +>云端打包也可以兼容生效,只是无法在可视化界面编辑。 + +**注意** +- 配置后需提交云端打包后才能生效,真机运行时请使用[自定义调试基座](https://ask.dcloud.net.cn/article/35115) +- 离线打包请直接在XCode工程中修改Info.plist文件的`LSApplicationQueriesSchemes`字段值 + + +### 云端打包默认添加应用访问白名单列表 +为了方便开发者调用一些常用的第三方应用,云端打包默认已经添加以下白名单 +``` txt +weixin +wechat +mqq +weibosdk2.5 +weibosdk +mqqapi +mqzone +sinaweibo +sinaweibohd +mqqopensdkapiV3 +mqqwpa +mqqopensdkapiV2 +mqqOpensdkSSoLogin +qqmap +baidumap +iosamap +openApp.jdMobile +taobao +hbuilder +pinduoduo +imeituan +tmall +dianping +vipshop +yanxuan +suning +kaola +snssdk32 +shark.video +wbmain +cydia +streamapp +kwai +pptv +bilibili +kugouURL +qqnews +zhihu +doubanradio +wccbyihaodian +ctrip +kuaikanmanhua +ntesopen +yddict +shanbay +gugutouchmanga +bobo +wtloginmqq2 +qrxs +mailmaster +jcnhers +lightsky +gaeagj +yixin +ydcourse +awemesso' +``` + +**注意** +默认添加的应用访问白名单列表不会影响应用任何功能,当开发者配置的白名单超过50个时,默认添加的白名单列表将失效。 + +