JS 错误导致 JUCE 应用程序崩溃
Posted
技术标签:
【中文标题】JS 错误导致 JUCE 应用程序崩溃【英文标题】:JS errors crash JUCE app 【发布时间】:2016-01-30 03:42:11 【问题描述】:开发基于 JUCE 的 React Native 应用程序,使用 ios 设备进行测试,每当我的代码中出现 JS 错误时,应用程序就会崩溃,我必须从 Xcode 重新启动。 Reload
按钮不起作用。
应用程序的核心是一个 JUCE 应用程序。在调试模式下,我得到以下 JS 错误异常:
exception 'NSInvalidArgumentException', reason: '-[JuceAppStartupDelegate window]: unrecognized selector sent to instance
我了解这是因为 JuceAppStartupDelegate
没有 window
属性。我不知道如何实现一个 JUCEApplication
实例来响应 React Native 的调用。
【问题讨论】:
您遇到了什么错误? 可能是任何 JS 错误 - 用一个例子更新了问题。 【参考方案1】:所以我想出了一个解决方案。
导致崩溃的 React Native 代码位于 dismiss
方法中:
- (void)dismiss
self.hidden = YES;
[self resignFirstResponder];
[RCTSharedApplication().delegate.window makeKeyWindow]; // <-- crash here
我尝试简单地将有问题的行注释掉。它有效——我现在可以在我的 React Native 代码中出现 JS 错误后使用 Reload 按钮。
- (void)dismiss
self.hidden = YES;
[self resignFirstResponder];
//[RCTSharedApplication().delegate.window makeKeyWindow];
编辑(2017 年 1 月):
JUCE 已经在 iOS 上更新了 window
属性,从而解决了这个错误。
【讨论】:
以上是关于JS 错误导致 JUCE 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章