React Native app crashes with cryptic error when archived: _ZN10TypedArrayIL14TypedArrayKind

huangapple go评论60阅读模式
英文:

React Native app crashes with cryptic error when archived: _ZN10TypedArrayIL14TypedArrayKind

问题

我有一个本地工作的React Native应用程序。当我将其归档以分发它(无论是通过TestFlight还是作为IPA。两者都尝试过),我的应用程序立即“崩溃”(应用程序保持打开,但React Native被卸载,在黑屏中卡住)。当我通过Console.app检查日志时,我看到以下晦涩的错误消息:

8.15.0 - [Firebase/Crashlytics][I-CLS000000] Warning: NSUncaughtExceptionHandler is '_ZN10TypedArrayIL14TypedArrayKind3EE6updateERN8facebook3jsi7RuntimeERKNSt3__16vectorIhNS6_9allocatorIhEEEE' in '/private/var/containers/Bundle/Application/28A502B6-6B51-4AE9-84CD-70D88D0DFE41/MyApp.app/MyApp'

虽然我没有证据,但我强烈认为这是崩溃的原因,因为它是Crashlytics报告的NSUncaughtExceptionHandler(我在应用程序中作为崩溃报告器使用)。

仔细检查时,这个晦涩的类/方法包含一些词语,如TypedArrayTypedArrayKindupdatefacebookJSIRuntimevectorallocator

我在应用程序中没有Facebook SDK,所以我怀疑“Facebook”指的是React Native中的一个内部包名称。

我陷入了困境。我怀疑与JSI运行时有关,但我不知道如何解决它。

请注意,这个问题只发生在归档的应用程序上:在开发过程中没有问题。


更新:我尝试过通过在use_react_native!中更改:hermes_enabled => false来退回到JSC(然后重新安装pods),但仍然出现相同的错误。

我还尝试过导出AdHoc和Development导出(并通过AirDropping IPA进行安装),以及App Store Connect导出:它们都导致相同的错误。

我关闭了应用程序瘦身。

我尝试切换“从Bitcode重建”和“剥离Swift符号”:它们都导致相同的错误。


可能的原因是什么?

英文:

I have a working React Native app locally. When I archive it to distribute it (either through TestFlight or as IPA. tried both) my app immediately "crashes" (app stays open but React Native is unmounted, stuck in black screen). When I examine logs through Console.app I see the following cryptic error message:

8.15.0 - [Firebase/Crashlytics][I-CLS000000] Warning: NSUncaughtExceptionHandler is '_ZN10TypedArrayIL14TypedArrayKind3EE6updateERN8facebook3jsi7RuntimeERKNSt3__16vectorIhNS6_9allocatorIhEEEE' in '/private/var/containers/Bundle/Application/28A502B6-6B51-4AE9-84CD-70D88D0DFE41/MyApp.app/MyApp'

While I don't have proof, I strongly think it is the cause of the crash as it's a NSUncaughtExceptionHandler reported by Crashlytics (which I have in the app as the crash reporter).

When examined closely, the cryptic class/method has some words TypedArray, TypedArrayKind, update, facebook, JSI, Runtime, vector, and allocator.

I don't have Facebook SDK anywhere in the app so I suspect that "Facebook" is referring to an internal package name in React Native.

I'm stuck. I suspect it's got to do with the JSI runtime but I have no idea how to solve it.

Please note that this problem is occuring only on archived app: there isn't a problem locally when developing.


UPDATE: I've tried falling back to JSC by using changing :hermes_enabled => false in use_react_native! (and reinstalling pods after that), yet still the same error.

I've also tried exporting AdHoc and Development export (and installing by AirDropping the IPA) in addition to App Store Connect export: they all yield the same error regardless.

I have app thinning off.

I've tried toggling both "Rebuild from Bitcode" and "Strip Swift symbols" on an off: they all yield the same error regardless.


What might be the cause?

答案1

得分: 0

更新到最新的React Native版本(从0.71.6更新到0.71.8,截至撰写本文),清理并移除Flipper(我不需要它)解决了这个问题。

英文:

Updating to latest React Native version (from 0.71.6 to 0.71.8 as of writing), cleaning, and removing Flipper (which I didn't need) the solved the issue.

huangapple
  • 本文由 发表于 2023年5月30日 11:21:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/76361424.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定