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修改一下文件夹权限,如图:

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

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

     

  • 相关阅读:
    hdu2818 Building Block
    struct2面试准备
    Spring mvc 面试
    Spring 面试详解
    Java面试必备Springioc上
    redis高级命令4 持久化机制 、事务
    redis高级命令3哨兵模式
    redis高级命令2
    redis高级命令1
    redis基础二----操作set数据类型
  • 原文地址:https://www.cnblogs.com/tomkart/p/7874866.html
Copyright © 2011-2022 走看看