JS 错误导致 JUCE 应用程序崩溃
JS errors crash JUCE app
开发基于 JUCE 的 React Native 应用程序,使用 iOS 设备进行测试,每当我的代码中出现 JS 错误时应用程序崩溃,我必须从 Xcode 重新启动. Reload
按钮不起作用。
该应用程序的核心是一个 JUCE 应用程序。在调试模式下,我得到以下 JS 错误异常:
exception 'NSInvalidArgumentException', reason: '-[JuceAppStartupDelegate window]: unrecognized selector sent to instance
我理解这是因为 JuceAppStartupDelegate
没有 window
属性。我不知道的是如何实现一个 JUCEApplication
实例来响应 React Native 的调用。
所以我想出了一个解决办法。
导致崩溃的 React Native 代码在 dismiss
方法中:
- (void)dismiss
{
self.hidden = YES;
[self resignFirstResponder];
[RCTSharedApplication().delegate.window makeKeyWindow]; // <-- crash here
}
我试着简单地把有问题的那一行注释掉。它有效 - 我现在可以在我的 React Native 代码中出现 JS 错误后使用“重新加载”按钮。
- (void)dismiss
{
self.hidden = YES;
[self resignFirstResponder];
//[RCTSharedApplication().delegate.window makeKeyWindow];
}
编辑(2017 年 1 月):
JUCE 已在 iOS 上更新为 window
属性,从而解决了此错误。
开发基于 JUCE 的 React Native 应用程序,使用 iOS 设备进行测试,每当我的代码中出现 JS 错误时应用程序崩溃,我必须从 Xcode 重新启动. Reload
按钮不起作用。
该应用程序的核心是一个 JUCE 应用程序。在调试模式下,我得到以下 JS 错误异常:
exception 'NSInvalidArgumentException', reason: '-[JuceAppStartupDelegate window]: unrecognized selector sent to instance
我理解这是因为 JuceAppStartupDelegate
没有 window
属性。我不知道的是如何实现一个 JUCEApplication
实例来响应 React Native 的调用。
所以我想出了一个解决办法。
导致崩溃的 React Native 代码在 dismiss
方法中:
- (void)dismiss
{
self.hidden = YES;
[self resignFirstResponder];
[RCTSharedApplication().delegate.window makeKeyWindow]; // <-- crash here
}
我试着简单地把有问题的那一行注释掉。它有效 - 我现在可以在我的 React Native 代码中出现 JS 错误后使用“重新加载”按钮。
- (void)dismiss
{
self.hidden = YES;
[self resignFirstResponder];
//[RCTSharedApplication().delegate.window makeKeyWindow];
}
编辑(2017 年 1 月):
JUCE 已在 iOS 上更新为 window
属性,从而解决了此错误。