Sag*_*767 5 react-native expo react-native-reanimated
我正在运行一个刚刚升级到 SDK 49 的托管应用程序。 eas-cli/3.17.1 darwin-arm64 node-v18.17.0
我的应用程序,即使在本地运行得很好,当我使用 Expo Go 应用程序从 EAS 更新打开它时,它也会在启动时崩溃。我已经尝试调查了三天,但无法修复。
我使用 XCode“控制台”应用程序在 Expo Go 应用程序崩溃时记录错误。以下是我在那里发现的 3 个错误日志:
- Expo Go RangeError:超出最大调用堆栈大小(本机堆栈深度),js引擎:hermes
- Expo Go 不变违规:“main”尚未注册。如果出现以下情况,就会发生这种情况:
- Metro(本地开发服务器)从错误的文件夹运行。检查 Metro 是否正在运行,停止它并在当前项目中重新启动它。
- 由于错误,模块无法加载并且
AppRegistry.registerComponent未被调用。,js 引擎:hermes- Expo Go NSInvalidArgumentException:-[EXReactAppExceptionHandler handleFatalJSExceptionWithMessage:stack:exceptionId:extraDataAsJSON:]:无法识别的选择器发送到实例0x281fa8380
在谷歌搜索这些之后,我意识到我应该关注的是第一个(“RangeError”),因为其他的只是它的结果,并且该问题可能是由我的一个依赖项由于某种原因失败引起的。
调查这一点让我怀疑“react-native-reanimated”(因为Github 问题),所以我尝试降级回 2.14.4,这是我使用的先前版本,当我在本地运行该应用程序时,应用程序因错误而崩溃:
TypeError:_ReanimatedModule.default.createNode不是一个函数(未定义),js引擎:hermes
接下来是同样的:“main”尚未注册错误,所以我认为值得一提。
然后我npx expo prebuild -p ios使用 XCode 来运行它,一开始运行得很好,但运行几次后突然崩溃了:
ReanimatedError:超出最大调用堆栈大小(本机堆栈深度)。、js引擎:复活
我还尝试将 jsEngine 切换到 JSC,但它所做的只是给我提供了更少有用的错误日志。
我已经认为我现在已经弄清楚了两次,但一天后我进行了新的 EAS 更新,它再次崩溃,所以我什至无法在那里获得一致性。
以下是升级到 SDK 49 期间对 package.json 依赖项所做的更改。在工作版本和崩溃版本之间没有对任何代码库进行其他更改,只有这些依赖项发生了更改。
我真的很沮丧..非常感谢你的帮助
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |