美文网首页
Flutter 使用MMKV踩坑(iOS release打包出现

Flutter 使用MMKV踩坑(iOS release打包出现

作者: 北纬357 | 来源:发表于2021-03-08 10:14 被阅读0次
    • 由于工程是Flutter+原生混合开发,并且进入APP的第一个页面(登录页面)就是Flutter页面
    • MMKV官方写法在main()函数里使用await初始化,为了保证即时初始化,然而await 会导致iOS12及以下的系统到登录页会卡死在白屏页(只有在release包下才会这样,原因未知)
    • 解决方法:把await去掉(由于第一个Flutter页面没有使用到MMKV,所以可以去掉await,如果有使用到去掉了await可能会引发未初始化就使用的问题)
    //业务页面
    void main() {
      runZoned(() async {//全局异常捕获
    //    await KVStorage.init(); await 会导致iOS12及以下的系统到登录页会白屏
        KVStorage.init();
        runApp(MyApp());
        DataService.instance.registerEvent();
      }, onError: (error, stackTrace) async {
        if(error!=null && error.toString().isNotEmpty) {
          var errorDetail = FlutterErrorDetails(exception: error, stack: stackTrace)
              .toString();
          Logger.write(errorDetail);
          //回传给native上报error信息
          PlatformChannelManager.getMethodChannel().invokeMethod(Method.errorUpload,
              FlutterErrorDetails(exception: error, stack: stackTrace).toString());
        }
      });
    }
    

    相关文章

      网友评论

          本文标题:Flutter 使用MMKV踩坑(iOS release打包出现

          本文链接:https://www.haomeiwen.com/subject/wgfpqltx.html