React Native升级后链接失败:ld:符号在x86_64架构中未找到。

3

我最近升级了React Native版本,使用了以下代码:

react-native upgrade

我已经按照所有步骤进行操作,目前没有出现任何错误。 现在当我想构建iOS版本时,我遇到了以下错误:

Original Answer: "最初的回答"

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

**构建失败**

以下构建命令失败:

Ld build/Build/Products/Debug-iphonesimulator/CustomName.app/CustomName normal x86_64

(1 failure)

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)

我的项目环境

React Native 环境信息: 系统: 操作系统:macOS 10.14.3 CPU:(8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 内存:140.02 MB / 16.00 GB Shell:3.2.57 - /bin/bash 可执行文件: 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: 平台: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/

并且找到了一个被系统禁用的.app文件(其他React Native项目有有效的.app文件)

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

是否有机会获得关于导致此无效的.app文件以及如何修复它的详细见解?

任何提示都将不胜感激!

Translated:

您好,看起来构建生成了一个无效的.app文件,而其他React Native项目都有有效的.app文件。这个无效的文件被系统禁用了,所以链接失败了。

请问是否能提供更详细的信息,找出是什么原因导致了这个无效的.app文件,并且如何修复它呢?非常感谢您的帮助!


我在寻找这个问题的答案上毫无运气。不知道你有没有成功解决这个问题? - Roman
1
arch -x86_64 yarn iOS - Ahmad hassan
3个回答

9

7

如果您使用的是搭载 M1 芯片的 Mac,则解决方案如下:

arch -x86_64 yarn ios

这对我有效,即使我还没有M1 Mac。 - Guille Acosta
花了好几个小时试图找到解决这个错误的方法,最终找到了解决方案!我在我的 package.json 脚本中添加了 arch -x86_64!现在可以在 XCode 14.2 中使用了。 - Viktor Jovanovic

3
你需要将 JavaScriptCore.Framework 添加到 Build Phases -> Link Binary With Libraries

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接