Ошибка сборки React Native M1 Mac с целью «React-Codegen»

Когда я запускаю команду 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

Спасибо!

🤔 А знаете ли вы, что...
Ruby поддерживает объектно-ориентированное программирование и множественное наследование через механизмы миксинов.


1
1 319
3

Ответы:

Решено

Это известная проблема с 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


Интересные вопросы для изучения

Каково ожидаемое поведение при применении оператора сопоставления Ruby к nil?Добавьте статическую страницу благодарности при отправке формы с помощью RailsНесколько док-станций в одном проекте с рельсами rswagКаков эквивалент Ruby ActiveRecord для этого SQL?Приложение Ruby, использующее When/Case, дает Nil, когда не должноОшибка сборки Xcode 14.3 после обновления iOS 16.4: libarclite_iphoneos.a не найден, команда компоновщика не удаласьОшибка сборки Flutter для iOS: DVTCoreDeviceEnabledState_DisabledПосле обновления до Xcode 14.3 при попытке заархивировать приложение Flutter я получаю сообщение «Ошибка выполнения команды PhaseScriptExecution с ненулевым кодом выхода»Не удается запустить приложение Flutter на симуляторе после обновления XCode до версии 14.3 из-за отсутствия файла libarclite_iphonesimulator.aИспользование побитового '|' с логическими операндами | XCode 14.3 не работает при сборке с использованием реактивной йоги