react-native run-ios 构建失败:CompileC RCTBaseTextInputView.o

Posted

技术标签:

【中文标题】react-native run-ios 构建失败:CompileC RCTBaseTextInputView.o【英文标题】:react-native run-ios Build Fail: CompileC RCTBaseTextInputView.o 【发布时间】:2020-08-12 11:37:37 【问题描述】:

如何在 ios 中修复此构建失败? 我正在使用 Xcode 9.2 版 Mac OS 塞拉利昂

什么是RCTBaseTextInputView?

编译C /Users/bliss/Library/Developer/Xcode/DerivedData/RNJyotish-fjjxyvwbhqivjwbnwwqhmqzgfazq/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-RCTText.build/Objects-normal/x86_64/RCTBaseTextInputView.o /Users/bliss/Documents/Coder/ReactNative/RNCLI/BITBUCKET/rnjyotish/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.m 普通 x86_64 目标-c com.apple.compilers.llvm.clang.1_0.compiler

【问题讨论】:

如果你解决了,请分享。我遇到了同样的错误。 嗨,我无法直接解决它....我的电脑是 2011 年初的 MacBookPro,可以安装在该机器上的 Xcode 非常落后于其最新版本。我决定在 Cloud 机器上租一台 Mac,并在那里使用相同的代码创建和编译一个新项目.. 我能够在 2012 年底的 mac High Sierra 10.13.3 上运行它。这是一次痛苦的经历 您能分享一下您是如何完成这项工作的吗?我必须每月为 Cloud 支付 20 美元以上的费用……我宁愿尽可能多地使用本地机器…… 【参考方案1】:

每个版本都非常重要。对于另一个版本,这可以通过其他方式完成。但对于 Mac High Sierra,请遵循以下操作:

我的系统:

High Sierra 10.13.3
XCode 9.4 
Node 8.11.1
react-native-cli@2.0.1
watchman 4.9.0
react-native@57.8
android studio 3.6.3
Android Emulator: Pixel API 28 : Android Pie 9
Also Tested: Genymotion 3.1.0 : Samsung Galaxy S10 Android 10
Iphone Emulator 11.3

Xcode 构建位置唯一:xcode -> Preference->Locations -> Advanced

[如果您没有安装nvm,则完全卸载node,然后通过nvm安装它。这不是必需的,但强烈推荐]

nvm install 8.11.1

此版本不需要纱线。所以我删除了纱线,因为后来的版本给纱线带来了麻烦, 如果已经安装了纱线,你可以尝试使用纱线,但对于此版本不需要

brew uninstall yarn
brew install watchman

不要使用 npx,而是要使用特定版本

npm install -g react-native-cli@2.0.1

add react-native to .bash_profile:
export PATH="/Users/hasan/.nvm/versions/node/v8.11.1/bin/:$PATH"

*如果您使用过版本 8 的 oracle java,请使用以下命令将其卸载:

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-11.jdk

安装openJDK8:

brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8

始终使用版本号。 React Native 不能神奇地修复任何东西

react-native init RealmProject --version 0.57.8

安装安卓SDK: http://reactnative.dev/docs/0.57/getting-started

将以下内容添加到 .bash_profile:

export ANDROID_HOME=/Users/hasan/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

以上成功完成后:

react-native run-android
react-native run-ios

如果您有任何错误,请确保删除所有缓存:

watchman watch-del-all && rm -rf $TMPDIR/react-* && rm -rf node_modules/ && npm cache verify && npm install && npm start -- --reset-cache

到此为止不会有问题,但要使其受到更多保护:

Project>android>gradle>wrapper>gradle-wraper.properties:下的gradle-wrapper.properties 4.4改为4.9

distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip

android>build.gradle plugin version change to 3.2.1
classpath 'com.android.tools.build:gradle:3.2.1'

干杯,编码快乐!

【讨论】:

以上是关于react-native run-ios 构建失败:CompileC RCTBaseTextInputView.o的主要内容,如果未能解决你的问题,请参考以下文章

react-native run-ios 不断失败

在 Xcode 上构建失败,但在 run-ios 上成功

react-native 0.57 run-ios 失败解决办法

react-native run-ios 需要很长时间才能构建,有时永远不会

运行 react-native run-ios 就成功了。但不启动模拟器

运行 react-native run-ios 时出错