react-native-reanimated undefined symbols for architecture arm64 EAS Expo 48 build

ulydmbyx  于 2023-04-22  发布在  React
关注(0)|答案(1)|浏览(144)

我最近更新到Expo 48,现在似乎无法构建我的应用程序的iOS版本。我以前能够构建它。我使用带有M1芯片的Mac,并在EAS构建服务器上构建(而不是本地)。
我得到以下错误:

❌  Undefined symbols for architecture arm64
┌─ Symbol: hermes::vm::NopCrashManager::~NopCrashManager()
└─ Referenced from:

std::__1::shared_ptr<hermes::vm::CrashManager>::shared_ptr<hermes::vm::NopCrashManager, void>(hermes::vm::NopCrashManager*) in ReanimatedRuntime.o
2631

❌  ld: symbol(s) not found for architecture arm64

2632

❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经尝试在所有pod、目标项目和RNReanimated pod的Excluded Architectures中直接排除arm64

只要react-native-reanimated使用的是2.14.4版本,我就可以让这个应用程序在ExpoGo上运行,但是我试过用v2.14.4和v3.0.2构建,得到了同样的错误。
有人知道如何在Expo 48上使用M1处理器构建react-native-reanimated吗?

xuo3flqw

xuo3flqw1#

我可以通过使用expo-build-properties并将app.json中的useFrameworks标志更改为static来解决这个问题,如下所示:

"expo": {
    "plugins": [
      [
        "expo-build-properties",
         {
            "ios": {
               "useFrameworks": "static",
            }
         }
      ],
   ]
}

不需要排除任何架构。

相关问题