React native base headers для ios не найден

Во время фазы привязки iOS я начал видеть ошибки для моего проекта React Native.

Реальная версия: 0.41.2, 0.40, 0.39

Все работало нормально, я отредактировал версию Android, React Native code не изменился, когда такие ошибки связывания начали появляться с заголовками на пути /node_modules/react-native/React/Base/{RCTHeaderName.h} не найден:

Ошибка

In file included from /Users/user/ReactNativeProject/node_modules/react-native-vector-icons/RNVectorIconsManager/RNVectorIconsManager.h:9:
../react-native/React/Base/RCTBridgeModule.h:12:9: fatal error: 'React/RCTDefines.h' file not found
#import <React/RCTDefines.h>
        ^
  • В Link Binary With Libraries я включаю библиотеку Core React (libReact.a).

  • Местоположение RCTLog.h PROJECTROOT/node_modules/react-native/React/Base/RCTLog.h, но import #import <React/RCTLog.h>

  • Новое добавление React.xcodeproj в библиотеки не помогает, Xcode Product > Clean не помогает, не перезапускает Xcode

  • react-native run-android работает, react-native run-ios показывает ошибку

  • Разрешения для файлов, установленные для пользователя, выполняющего react-native run-ios

Ответ 1

У вас есть опция Parallelize build не отмечена, а React указана в первую очередь в ваших целях сборки?

Вы можете найти это окно в Xcode = > Значок вашего проекта рядом с кнопкой запуска = > Изменить схему = > Вкладка сборки

Ответ 2

Обновление: решение на Facebook React-Native https://github.com/facebook/react-native/issues/11813

============

Эта проблема также возникла у меня. Кажется, что React.xcodeproj распознает конфигурацию Отладка и Release. Весь вывод React.xcodeproj записывается в Debug-iphonesimulator или Release-iphonesimulator.

Это означает, что если у вас есть некоторые настройки, отличные от "Debug/Release", вывод будет по-прежнему записываться в Debug-iphonesimulator или Release-iphonesimulator, что не является что мы хотим.

Итак, решение состоит в том, чтобы добавить ту же конфигурацию в React.xcodeproj, чтобы она соответствовала одному из ваших собственных проектов.

Например, если в вашем собственном проекте есть конфигурации "Debug/Release/Test/AppStore" 4, вы должны убедиться, что React.xcodeproj также имеет те же 4 конфигурации.

нажмите кнопку "+" в "Конфигурации", затем "Дублировать конфигурацию выпуска" и переименуйте его в соответствии с вашими требованиями.

введите описание изображения здесь