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

时间:2020-04-28 15:23:54

标签: ios xcode react-native react-native-ios

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

什么是RCTBaseTextInputView?

CompileC /Users/bliss/Library/Developer/Xcode/DerivedData/RNJyotish-fjjxyvwbhqivjwbnwwqhmqzgfazq/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-RCTText.build/Objects-normal/x86_64/RCTBase。 /用户/幸福/文档/编码器/ReactNative/RNCLI/BITBUCKET/rnjyotish/node_modules/react-native/Libraries/Text/TextInput/RCTBaseTextInputView.m 普通的x86_64 Objective-c com.apple.compilers.llvm.clang.1_0.compiler

1 个答案:

答案 0 :(得分:0)

每个版本都很重要。对于另一个版本,这可以通过其他方式完成。但是对于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->首选项->位置->高级

[如果未安装nvm,则完全卸载节点,然后通过nvm安装它。不需要,但强烈建议]

nvm install 8.11.1

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

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 init RealmProject --version 0.57.8

安装android 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'

欢呼和快乐的编码!