react-native - 升级后链接失败:ld:找不到架构 x86_64 的符号

use*_*261 1 xcode linker react-native

我最近升级了 react-native 版本

react-native upgrade
Run Code Online (Sandbox Code Playgroud)

并遵循所有步骤,到目前为止没有任何错误。现在,当我想构建 ios 版本时,出现以下错误:

?  ld: symbol(s) not found for architecture x86_64
?  clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

** 构建失败 **

以下构建命令失败:

Ld build/Build/Products/Debug-iphonesimulator/CustomName.app/CustomName normal x86_64
Run Code Online (Sandbox Code Playgroud)

(1 次失败)

The following commands produced analyzer issues:
Analyze Base/RCTModuleMethod.mm normal x86_64
Analyze RCTNetInfo.m normal x86_64
Analyze RCTImageCache.m normal x86_64
(3 commands with analyzer issues)
Run Code Online (Sandbox Code Playgroud)

我的项目环境

React Native Environment Info: System: OS: macOS 10.14.3 CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz Memory: 140.02 MB / 16.00 GB Shell: 3.2.57 - /bin/bash Binaries: Node: 11.7.0 - /usr/local/bin/node Yarn: 1.13.0 - /usr/local/bin/yarn npm: 6.5.0 - /usr/local/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman SDKs: iOS SDK: Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1 IDEs: Xcode: 10.1/10B61 - /usr/bin/xcodebuild npmPackages: react: 16.6.3 => 16.6.3 react-native: 0.58.5 => 0.58.5 npmGlobalPackages: create-react-native-app: 2.0.2 react-native-cli: 2.0.1 react-native-git-upgrade: 0.2.7 react-native-rename: 2.4.0

所以我检查了文件夹

build/Build/Products/Debug-iphonesimulator/
Run Code Online (Sandbox Code Playgroud)

并且可以找到一个被系统禁用的 .app 文件(其他 react-native 项目有一个有效的 .app 文件)

因此,构建似乎正在创建一个无效的 .app 文件,然后(可以理解)由于文件/文件夹不可用而导致链接失败。

有没有机会详细了解导致此无效 .app 文件的原因以及如何修复它?

任何提示表示赞赏!

小智 7

如果您的 Mac 配备 M1 芯片,那么解决方案是:

arch -x86_64 yarn ios
Run Code Online (Sandbox Code Playgroud)


tok*_*are 6

Xcode Archive 构建失败,反应本机项目

关于JavaScriptCore.framework拯救我的生命的第一个答案,希望有所帮助:)