为什么我收到控制台警告:当我在 iOS13.2 中加载 WKWebView 时,[Process] kill() 返回了意外错误 1?

Why I get the console warning: [Process] kill() returned unexpected error 1 when I load a WKWebView in iOS13.2?

自从我安装了 iOS 13.2 beta 后,我一直收到调试控制台错误消息。每次我在情节提要中加载带有 WKWebView 对象的 ViewController 时都会发生。

然后在 Web 视图可见的情况下持续显示以下消息 ...

2019-10-10 12:10:47.867830+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:47.908698+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:47.908814+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:47.934169+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:47.947668+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:47.964375+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:48.193556+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:48.193723+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:48.193941+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:48.194012+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:48.195679+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:48.200432+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:48.207225+0200 (...) [Process] kill() returned unexpected error 1  
2019-10-10 12:10:48.207298+0200 (...) [Process] kill() returned unexpected error 1 

在我关闭视图的那一刻,我收到以下消息:

2019-10-10 12:32:41.577505+0200 (...)[ProcessSuspension] 0x1051e50b0 - ProcessAssertion::processAssertionWasInvalidated() 

有时在加载 Web 视图时我会在中间收到以下消息:(我不能说它何时发生)

2019-10-10 12:33:11.453528+0200 (...) Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
2019-10-10 12:33:11.459713+0200 (...) Could not signal service com.apple.WebKit.Networking: 113: Could not find specified service

如果我触摸屏幕,它会再次启动

    2019-10-10 12:10:48.200432+0200 (...) [Process] kill() returned unexpected error 1  
    2019-10-10 12:10:48.207225+0200 (...) [Process] kill() returned unexpected error 1  
    2019-10-10 12:10:48.207298+0200 (...) [Process] kill() returned unexpected error 1 
...

我已经检查过我的应用程序的所有带有 WKWebViews 的视图控制器中都发生了这种情况,所以这似乎不是代码错误。

不会使应用程序崩溃 ,但我想知道为什么会发生这种情况,以及其他人是否遇到同样的问题。

这是 WebKit(或底层 OS 本身)中的错误。 不,它 在 13.[2,3] 版本中修复。

参见:


更新:

它已在 13.4 版本中修复。

如已接受的答案,这是一个 WebKit 错误,似乎已修复但直到最新的 iOS 版本 13.2.2(当时写这个答案) 已在 iOS 13.4.

中修复

但是,作为一种变通方法,您可以暂时 disable/hide 日志,如 中所述:

1- 从 Xcode 菜单打开:产品 > 方案 > 编辑方案

2- 在您的环境变量上设置 OS_ACTIVITY_MODE = disable

这只会隐藏日志,以便您可以在 iOS 上继续开发和测试。正如一些人指出的那样,这个问题无论如何都会导致他们的应用程序崩溃(对我来说直到现在才崩溃)。另外,请小心使用此方法,因为它可能会隐藏重要的错误消息!

我真的不知道为什么这会影响它,但是嘿¯\_(ツ)_/¯

我正在使用 Firebase - 我的 Podfile 中有一行:

pod 'Firebase/DynamicLinks'

删除后,我不再收到这些日志。奇怪,但我想如果你现在还不需要这个 pod,它就可以工作。

这可能也是其他 pods 的问题,谁知道呢。

我的 Podfile 中有该行用于我尚未实现的功能,但在我获得完整的 Apple 开发者会员帐户之前不能。

我预先承认这很糟糕 "answer" 但这是一个有效的观察。这与沙盒有关。如果您在没有沙箱的情况下重建您的应用程序,则不会有任何消息。如果您打开沙箱并启用我的应用程序所需的所有传出连接,webkit 中的每个鼠标事件都会给我不愉快的消息。

如果我还包括传入连接,作为测试,相同的消息。

删除沙盒(仅供内部使用的应用程序),没有愚蠢的消息。也许这个观察会帮助 Apple 的某个人进一步追踪这个问题。

iOS 13.4 已删除此错误!万岁!

更新于 2020 年 3 月 28 日

Apple终于部署了一些东西,它不仅没有在日志中显示错误,而且实际上允许我们;开发人员编译,运行 并提交申请。

特别是,如果您要将 Cordova/PhoneGap 应用程序与任何想要 运行 HTML5/JavaScript framework/game (Ionic/Phaser) 的应用程序结合使用

=40=] 通过使用 WebView 作为 web 包装器(我个人与此问题相关的经验)。但是,不确定相同的问题是否适用于 NativeScript/React 本机或本机 Java/Kotlin/Swift - 这些不需要 Web 包装器到 运行。

没关系,请将您的 iPhone/iPad 更新为 iOS 13.4 和 (!!)Xcode 到 11.4。它们都是 3 天前发布的,可以确认我的 Cordova 封装的应用程序不再有日志并且不会崩溃。

由于历史原因,我会写一条注释 - 受影响的 iOS 版本是:13.2.X、13.3.X,包括其测试版。如果您在一段时间后阅读本文 - 您需要通过升级到高于 13.3 的版本(推荐)或降级到低于 13.2 的版本(不推荐)来摆脱这些。仅当 Apple 出于某种原因阻止您进行进一步更新时,您才可以使用第二个选项,例如你的iPad/iPhone会很老

请注意,您必须在设备上同时使用 iOS 13.4Xcode 11.4,否则,您仍会看到日志。