Android 9 下使用webview加载页面提示“net::ERR_CLEARTEXT_NOT_PERMITTED”的解决方法

 android  Android 9 下使用webview加载页面提示“net::ERR_CLEARTEXT_NOT_PERMITTED”的解决方法已关闭评论
7月 062020
 

Android  9.0 下使用webview加载页面时提示错误:

net::ERR_CLEARTEXT_NOT_PERMITTED

 

原来是因为: 从Android 9.0(API级别28)开始,默认情况下禁用明文支持。因此http的url均无法在webview中加载。

解决方法:

  1. 将原来的http修改为https, 当然服务端需支持https访问.
  2. 修改manifests目录下的AndroidManifest.xml文件,在application节点添加android:usesCleartextTraffic=”true”

如:

<application
    android:usesCleartextTraffic="true"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".TestActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>

ios 9.0/10.0 xcode开发中info.plist文件权限设置

 xcode  ios 9.0/10.0 xcode开发中info.plist文件权限设置已关闭评论
1月 162020
 

iOS9.0的权限设置

iOS9.0引入了新特性App Transport Security (ATS),导致网络请求访问失败,新特性要求App内访问的网络必须使用HTTPS协议,但很多公司使用的还是http协议。

为了让http请求也能正常范文网络数据,解决的办法如下:
在info.plist文件中添加App Transport Security Settings,类型Dictionary;
在App Transport Security Settings下添加Allow Arbitrary Loads类型Boolean,值设为YES;
这里写图片描述

 

iOS10.0对用户的隐私权限越来越重视,要想正常访问相册,相机,位置,麦克风,蓝牙,健康等都需要事先在info.plist文件中进行相应设置,现将开发中常用的用户权限设置总结如下:
蓝牙
NSBluetoothPeripheralUsageDescription
日历
NSCalendarsUsageDescription
相机
NSCameraUsageDescription
健康分享
NSHealthShareUsageDescription
健康更新
NSHealthUpdateUsageDescription
始终允许访问位置
NSLocationAlwaysUsageDescription
位置
NSLocationUsageDescription
在使用期间访问位置
NSLocationWhenInUseUsageDescription
麦克风
NSMicrophoneUsageDescription
运动与健康
NSMotionUsageDescription
相册
NSPhotoLibraryUsageDescription
提醒事项
NSRemindersUsageDescription

方式一:使用属性列表方式修改:

方式二:源文件方式

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSContactsUsageDescription</key>
<string>请求访问通讯录</string>
<key>NSMicrophoneUsageDescription</key>
<string>请求访问麦克风</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>请求访问相册</string>
<key>NSCameraUsageDescription</key>
<string>请求访问相机</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>始终访问地理位置</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>在使用期间访问地理位置</string>
<key>NSCalendarsUsageDescription</key>
<string>请求访问日历</string>
<key>NSRemindersUsageDescription</key>
<string>请求访问注意事项</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>请求访问蓝牙</string>