zoukankan      html  css  js  c++  java
  • *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<WKWebViewConfiguration 0x1701bcd20> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the k

    问题描述:

      ionic项目,windows下正常,打包android可正常运行;

      因为需要打包到iPhone (ios 11.0.1)上测试,将代码拿到Mac OS环境下(重新npm install、platform add ios等)测试的时候,

      build ios正常、ionic serve正常,但是打包运行到iPhone上的时候,出现应用crash闪退的问题。

      打开XCode连接设备,调试发现具体的错误信息如下:

       

      工程本身编译是没有问题的,可以编译成功:

    问题排查:

      开始怀疑是项目代码的问题,或者使用了不支持ios的插件,但是逐一排查后问题并没有消除;

      后来怀疑是ionic工程本身的原因,于是重新创建ionic工程,在不添加plugins之前,一切OK;

      但是在添加完我需要的Background Mode和Local Notifications之后,问题就出现了。

      所以,问题可以定位到Background Mode或者是Local Notifications身上了。

      中间排查过程不赘述,直接介绍如何解决。

    解决办法:

      问题是由于Background Mode插件在ios下的一个bug所致:

      在IOS升级到11版本之后,KeyName由_requiresUserActionForMediaPlayback变更成requiresUserActionForMediaPlayback。

      修改办法如下:

      

      按图所示修改插件代码,并保存。

      注意保存的时候,因为文件权限的问题,需要使用iTerm修改一下文件夹权限,如图:

      重新编译,安装到手机,问题解决,应用可以正常运行:

      并且可以正常测试消息推送:

     

  • 相关阅读:
    C#.NET中的ToString()数字格式化
    Entity Framework实现属性映射约定
    CentOS6.3安装MySQL5.5
    Xshell传输文件
    centos直接yum安装nginx
    winform 开发中 把耗时操作 封装起来 异步执行(.net 4.0)
    c# action<> func<> 这2个委托怎么用和理解
    git@oschina使用入门(图形界面版)
    Linux任务前后台的切换
    linux 常用命令,开发记住这些基本能够玩转linux
  • 原文地址:https://www.cnblogs.com/tomkart/p/7874866.html
Copyright © 2011-2022 走看看