React Native Build Error: Could not read optimization profile file (even after change optimization configuration)

React Native Build Error: Could not read optimization profile file (even after change optimization configuration)

我试图通过此 video 中的步骤解决一些规定问题,之后构建过程不断报告错误。

该视频中的步骤是: 1. project -> clean 2. project -> build 3. project -> perform action -> Generate Optimization File 4. Enable Optimazation

它确实帮助我 运行 连接设备上的应用程序。但在此之后,构建过程不断失败并显示以下错误消息:

Could not read profile [My Project Folder]/node_modules/react-native/React/OptimizationProfiles/React.profdata: No such file or directory

在 SO 上看了几个小时后,我尝试了以下不同的方法,但 none 其中的方法有效:
1)

Go to Project -> Build Setting -> Apple LLVM 9.2-code generation  
clear Optimization Profile File // clear is removing the value to empty, correct?  
Clean project and build again

所有目标的优化级别为 none
source here

  1. 手动将优化配置文件的路径设置到另一个位置(顺便说一句,没有生成 profdata 文件,这是另一个错误,但它 运行s app on connected device)

  2. 按照 answers to this question

  3. 中的建议删除 DerivedData 文件夹
  4. 删除 Build 文件夹
  5. 清除 Xcode 首选项并重新安装 Xcode

每当我构建它时,它仍在尝试在 /node_modules/react-native/React/OptimizationProfiles/React.profdata 中查找文件。使用 react-native run-ios 时结果相同。它是某种缓存吗?(虽然我删除了 DerivedData 文件夹、Build 文件夹,然后清理了项目)。这是错误消息的更多信息:

CompileC `MyProjectFolder`/ios/build/Build/Intermediates.noindex/React.build/Debug-iphonesimulator/yoga.build/Objects-normal/x86_64/YGNodeList.o `MyProjectFolder`/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c normal x86_64 c com.apple.compilers.llvm.clang.1_0.compiler
cd /Users/'ausername'/Documents/dev_fs/RecycleWizard/node_modules/react-native/React
export LANG=en_US.US-ASCII
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/`SomeUserName`/anaconda/bin:/Users/'SomeUserName'/Documents/apache-maven-3.0.5/bin:/usr/local/heroku/bin:./node_modules/.bin:/Users/'SomeUserName'/.rvm/gems/ruby-2.0.0-p451/bin:/Users/'SomeUserName'/.rvm/gems/ruby-2.0.0-p451@global/bin:/Users/'SomeUserName'/.rvm/rubies/ruby-2.0.0-p451/bin:/Library/JAVA/Home/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/`SomeUserName`/.rvm/bin:/Users/`SomeUserName`/.rvm/bin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu99 -fmodules -fmodules-cache-path=`MyProjectFolder`/ios/build/ModuleCache -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=`MyProjectFolder`/ios/build/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wmissing-prototypes -Werror=return-type -Wunreachable-code -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wshadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wnewline-eof -DDEBUG=1 -DRCT_DEBUG=1 -DRCT_DEV=1 -DRCT_NSASSERT=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.2.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -mios-simulator-version-min=8.0 -g -Wno-sign-conversion -Winfinite-recursion -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -fprofile-instr-use=`MyProjectFolder`/node_modules/react-native/React/OptimizationProfiles/React.profdata -index-store-path `MyProjectFolder`/ios/build/Index/DataStore -I`MyProjectFolder`/ios/build/Build/Intermediates.noindex/React.build/Debug-iphonesimulator/yoga.build/yoga.hmap -I`MyProjectFolder`/ios/build/Build/Products/Debug-iphonesimulator/include -I`MyProjectFolder`/ios/build/Build/Intermediates.noindex/React.build/Debug-iphonesimulator/yoga.build/DerivedSources/x86_64 -I`MyProjectFolder`/ios/build/Build/Intermediates.noindex/React.build/Debug-iphonesimulator/yoga.build/DerivedSources -Wextra -Wall -Wno-semicolon-before-method-body -F`MyProjectFolder`/ios/build/Build/Products/Debug-iphonesimulator -MMD -MT dependencies -MF `MyProjectFolder`/ios/build/Build/Intermediates.noindex/React.build/Debug-iphonesimulator/yoga.build/Objects-normal/x86_64/YGNodeList.d --serialize-diagnostics `MyProjectFolder`/ios/build/Build/Intermediates.noindex/React.build/Debug-iphonesimulator/yoga.build/Objects-normal/x86_64/YGNodeList.dia -c `MyProjectFolder`/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c -o `MyProjectFolder`/build/Build/Intermediates.noindex/React.build/Debug-iphonesimulator/yoga.build/Objects-normal/x86_64/YGNodeList.o

有没有其他尝试方法的想法?谢谢

已找到解决方案(但需要一定程度的重复设置工作),如果您遇到同样的问题并且none问题中列出的方法有效,您可以试试这个(作为最后的手段):

react-native run-ios 失败并出现以下错误后,我查看了登录终端:

Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier 
build/Build/Products/Debug-iphonesimulator/SomeProject.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist  

按照建议here, react-native upgrade (react-native version is 0.47.2), to make sure all the cache is cleaned, I also did this as mentioned in this thread

watchman watch-del-all
rm -rf $TMPDIR/react-*
rm -rf yarn.lock
rm -rf ./node_modules
yarn install

完成这些步骤后,剩下的基本上就是重新设置项目了,我做了react native link和react native插件的所有其他配置(例如更新info.plist)。但是该项目可以成功构建。

我不确定它是否是 Xcode 或 RN 中的错误(在我使用 perform action -> generate optimization file 之后)它一直试图找到那个文件 /node_modules/react-native/React/OptimizationProfiles/React.profdata 这很奇怪。

希望这对您有所帮助。

我遇到了类似的问题。 The only thing i didn't do was run react-native upgrade . 这样做消除了优化配置文件错误。

删除 ios/build 文件夹

watchman watch-del-all
rm -rf $TMPDIR/react-*
rm -rf yarn.lock
rm -rf ./node_modules
yarn install

我找到的所有在线答案的问题是他们告诉你取消项目级别的优化,而我需要在目标级别完成

所以点击你的项目 -> 然后 select 你的目标 -> 构建设置 -> 使用优化配置文件