1

开发基于 JUCE 的 React Native 应用程序,使用 iOS 设备进行测试,每当我的代码中出现 JS 错误时,应用程序就会崩溃,我必须从 Xcode 重新启动。该Reload按钮不起作用。

该应用程序的核心是一个 JUCE 应用程序。在调试模式下,我得到以下 JS 错误异常:

exception 'NSInvalidArgumentException', reason: '-[JuceAppStartupDelegate window]: unrecognized selector sent to instance 

我明白这是因为JuceAppStartupDelegate没有window财产。我不知道如何实现一个JUCEApplication响应 React Native 调用的实例。

4

1 回答 1

0

所以我想出了一个解决方案。

导致崩溃的 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 已经window在 iOS 上更新了一个属性,解决了这个错误。

于 2016-01-30T18:54:57.120 回答