IOS10.0+, Android 6.0+系统升级后Hybird应用常见问题修复

随着iOS10和Android6.0的普及,Hybrid应用面临一系列兼容性挑战,如HTTPS协议、权限配置、白名单设置等问题。本文详细介绍了这些问题的解决方案,包括配置NSAppTransportSecurity以支持HTTPS,添加权限描述以避免闪退,更新Cordova平台以解决白屏和布局问题,以及Android的权限管理策略和插件管理策略等。
摘要由CSDN通过智能技术生成

这里写图片描述

移动操作系统,每年会有一个大版本的发布,对部分功能多少会有影响,最近由于苹果发布了IOS10,以及android .6系统的普及,导致部分项目无法正常运转,尝试了一番,解决了所有问题,为此记录一下,方便同样问题的同志及时解决掉。

IOS10升级后的问题

其实自从IOS9+以后, iphone平台变化还是挺大的,可能这里列举不是很全,算是参考吧!

HTTPS协议

IOS9以后要求所有的app都要尊崇https协议,以及ipv6服务标准。

对此最好的解决方案就是,更改服务的协议到https。

还有一种方案就是需要配置NSAppTransportSecurity。

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

也可以对指定的url添加白名单:

<key>NSExceptionDomains</key>
      <dict>
        <key>codepush.azurewebsites.net</key>
        <dict/>
        <key>codepush.blob.core.windows.net</key>
        <dict/>
        <key>codepushupdates.azureedge.net</key>
        <dict/>
      </dict>

从2017年1月1日起,,所有新提交的 app 默认不允许使用NSAllowsArbitraryLoads来绕过ATS的限制,默认情况下你的 app 可以访问加密足够强的(TLS V1.2以上)HTTPS内容。

可以选择使用NSExceptionDomains设置白名单的方式对特定的域名开放HTTP内容来通过审核,比如说你的应用集成了第三方的登录分享SDK,可以通过这种方式来做。

更多的配置:

NSAllowsArbitraryLoads - 设置 true 即支持所有 HTTP 请求
NSExceptionDomains - 添加白名单
NSExceptionMinimumTLSVersion - 白名单指定域名支持的 TLS 版本
NSExceptionRequiresForwardSecrecy - 白名单指定域名是否支持 Forward Secrecy
NSExceptionAllowsInsecureHTTPLoads - 白名单指定域名禁用 ATS
NSThirdPartyExceptionMinimumTLSVersion - 白名单指定第三方服务域名最低支持的 TLS 版本
NSThirdPartyExceptionRequiresForwardSecrecy - 白名单指定第三方服务域名是否支持 Forward Secrecy
NSThirdPartyExceptionAllowsInsecureHTTPLoads - 白名单指定第三方域名禁用 ATS

配置白名单针对第三方应用

如果你的应用需要打开或者检查本地是否安装了指定的app,就需要配置一个LSApplicationQueriesSchemes, 这样才可以成功调用支付,或者地图等应用。

比如下面这个设置,是针对于百度地图的:

<key>LSApplicationQueriesSchemes</key>
      <array>
          <string>baidumap</string>
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天外野草

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值