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

Posted

技术标签:

【中文标题】为啥我在 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?为什么我在 iOS13.2 中加载 WKWebView 时收到控制台警告:[Process] kill() 返回意外错误 1? 【发布时间】:2020-02-07 19:01:29 【问题描述】:

自从我安装了 iOS 13.2 测试版,我一直收到调试控制台错误消息。每次我在情节提要中加载带有 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 的视图控制器中都发生了这种情况,因此这似乎不是代码错误。

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

【问题讨论】:

ios 13.2 版本对我来说同样的问题。我总是有点担心没有更多的报道。总是让我觉得我做错了什么。这似乎是一个相当大的问题。 forums.developer.apple.com/thread/123782 我在 Catalina 10.15.1 和 Xcode 11.2 上的 AppKit 和 WebKit 有同样的问题 同样的问题。我测试了不同的应用程序。一些具有 ionic 3 的应用程序直接崩溃,一些应用程序显示错误但将被打开。但是所有具有 ionic 4 的应用程序都会直接崩溃。我创建了一个全新的 ionic 4 应用程序,但无法启动该应用程序。 有没有人看到这个错误发生时网页也没有加载? 我在 iOS 13.3.1 中仍然遇到这个问题。 【参考方案1】:

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

见:

https://bugs.webkit.org/show_bug.cgi?id=202173 https://www.mail-archive.com/webkit-changes@lists.webkit.org/msg146193.html

更新:

在 13.4 版本中已修复。

【讨论】:

iOS 13.2 release 没有修复它。而且它会抛出异常。看起来它每 10 毫秒(每秒 100 次)记录一次,这将很快吞噬日志文件.. smh 13.2.2 仍然为我显示连续输出,数千次。我怀疑它可能与 WKWebView 触摸或滚动事件有关,但我仍在进行故障排除。至少可以说是可怕的。 13.3 beta 也没有修复它 该问题于 2019 年 9 月 24 日首次报告。但我想知道为什么这个问题没有得到太多关注和快速(已发布)修复!许多人报告说这个问题在 XCode 和下载的应用程序中都存在。此外,一些人报告说这个问题无论如何都会导致他们的应用程序崩溃。老实说,我现在开始质疑在 cordova/capacitor/ionic 之上开发本机应用程序的可靠性。 即使在 iOS 13.3.1 中也未修复,出现相同的警告日志。【参考方案2】:

与已接受的答案一样,这是一个 WebKit 错误,它似乎已经修复,但直到最新的 iOS 版本 13.2.2 才发布(在撰写此答案时) 已在 iOS 13.4 中修复

不过,作为一种解决方法,您可以暂时禁用/隐藏日志,如 an answer by @iDevzilla 中所述:

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

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

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

【讨论】:

那么这是否表明该错误仅在运行时通过 xcode 触发?或者此错误是否会在安装在用户设备上的打包应用程序包中持续存在? 对于我们的应用程序,无论是使用打包的应用程序还是通过 Xcode 启动的应用程序,它都会在两种变体中崩溃。使用 iOS 12 运行良好 ... @plocks 这篇文章实际上并不打算成为一个解决方案,就像作者所说的那样:它只是让开发人员的生活更轻松,直到 Apple 发布修复程序。顺便说一句,它帮助了我,谢谢! 刚安装 13.2.3 - 仍然出现 kill() 错误:( 它确实隐藏了所有的 NSLog。【参考方案3】:

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

【讨论】:

我可以确认,安装13.4后消息消失了 我在 iOS 13.5 中看到了这个问题 13.5.1 面临同样的问题 我认为修复是 Xcode 11.5 和 iOS 13.4 - 这就是我从所有阅读中解释的内容。但是,如果使用 Xcode 11.5 将应用程序部署到应用程序商店,并且用户的 iphone 仍在 iOS 13.2/13.3 上 - 应用程序会为他们崩溃吗?还是这只是 Xcode 调试的事情?【参考方案4】:

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

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

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

【讨论】:

【参考方案5】:

2020 年 3 月 28 日更新

Apple 终于部署了一些东西,它不仅不会在日志中显示错误,而且实际上允许我们使用;开发人员编译、运行和提交应用程序。

特别是,如果您将 Cordova/PhoneGap 应用程序与任何 HTML5/javascript 框架/游戏(Ionic/Phaser)结合使用,该应用程序希望在 iOS 上作为网络包装器运行(我个人与此问题相关的经验),使用网络视图。但是,不确定相同的问题是否适用于 NativeScript/React Native 或本机 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 会很旧。

【讨论】:

@MartinSuecia 在原始答案中和小编辑中都没有提到 11.4,只有大约 13.4 @MartinSuecia 哦,没注意到,非常感谢您的评论。修复了答案中的 Xcode 版本。 感谢您的回答,这确实解决了这个问题并消除了淹没有趣消息的错误!【参考方案6】:

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

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

pod 'Firebase/DynamicLinks'

删除后,我不再得到这些日志。奇怪,但我想如果你现在还不需要这个吊舱的话,它会起作用。

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

我的 Podfile 中有该行用于我尚未实现的功能,但在我获得完整的 Apple Developer Membership 帐户之前无法实现。

【讨论】:

有趣的解决方案.. 但我需要使用 DynamiclLinks... 所以不能真正删除它 @mikey 是的,我知道。至少这表明了问题的原因。现在,只要您的动态链接正常工作,您就可以放心地忽略它。 我在添加 AdmobFree 后才开始看到这个,它可能以某种方式使用了 firebase【参考方案7】:

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

【讨论】:

以上是关于为啥我在 iOS13.2 中加载 WKWebView 时收到控制台警告:[Process] kill() 返回意外错误 1?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能在不同的模块中加载泡菜?

为啥eclipse会闪烁并且在编辑器中加载XML很慢?

为啥在 Web 浏览器中工作的 url 没有在 UIImageview 中加载

在 iOS 中加载/保存设置

iOS - 无法在包中加载 NIB

为啥这个构造函数无法在 Codeigniter 中加载?