Когда я запускаю команду npx react-native run-ios
в своем терминале на своем Mac, я получаю сообщение об ошибке
CompileC /Users/jessicageorge-mannella/Library/Developer/Xcode/DerivedData/AwesomeProject-ctnixtnnzajiwuhfvbyaxlajljew/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build/Objects-normal/arm64/FBReactNativeSpec-generated.o /Users/jessicageorge-mannella/Documents/testing/AwesomeProject/ios/build/generated/ios/FBReactNativeSpec/FBReactNativeSpec-generated.mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'React-Codegen' from project 'Pods')
(1 failure)
Я запускаю React Native 0.71.5, Ruby версии 2.6.10, Cocopods версии 1.11.3, Node версии 18.15.0, Xcode версии 14.3, и я даже пытался переустановить MacOS на своем ноутбуке, пытаясь удалить неработающие версии. Вот полный список моих установленных пакетов, связанных с реакцией, а также некоторая системная информация.
System:
OS: macOS 13.3
CPU: (10) arm64 Apple M1 Pro
Memory: 150.44 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.15.0 - /usr/local/bin/node
Yarn: Not Found
npm: 9.6.3 - /usr/local/bin/npm
Watchman: 2023.03.27.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 14.3/14E222b - /usr/bin/xcodebuild
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 18.2.0 => 18.2.0
react-native: 0.71.5 => 0.71.5
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
Спасибо!
У меня RN 0.71.4 с ruby 2.7.6, и я могу успешно выполнять свои команды без Rosetta. Я установил ruby с помощью ruby-install и chruby в качестве менеджера версий.
Начиная с RN 0.71.5 больше нет зафиксированной .ruby-версии, как вы можете видеть в журнале изменений, но в документе все еще упоминается, что для этой версии требуется 2.7.6. Я не уверен, что это вызывает проблему, но я бы рекомендовал установить менеджер версий ruby. По моему опыту, этот меньше глючит: moncefbelyamani.com/…
Это известная проблема с react-native, о которой сообщалось 31 марта в репозитории react-native на GitHub. Это связано с несовместимостью между Xcode 14.3 и реактивными версиями до v0.71.6.
Выпущена v.0.71.6 , которая решает проблему путем изменения минимальной целевой версии iOS на 12.4. Перед выпуском этой версии был предложенный патч, который можно было применить к версии 0.71.5.
А для более старых версий react-native (например, v0.70.6) вместо этого может быть применен другой предлагаемый патч.
Это можно просто решить, изменив минимальную версию ReactCodegen для iOS внутри целей Xcode на 12.0 или более позднюю.
Я столкнулся с этой проблемой, и я вышел из нее с помощью этого исправления.
Быстрая починка:
Перейдите в Pods
-> выберите React-Codegen
из Build Settings
и обновите iOS Deployment Target
до iOS 12.4
.
Стабильное исправление: см. https://github.com/travis-mark/lrn/commit/015854716feadd61a904d5a603b027426472f863
Вы установили модули под Rosetta или с префиксом команды?