Не удается заархивировать проект iOS в Xcode 10 beta 4

Я пытался заархивировать свое использование Xcode 10 beta 4 и после того, как преодолел эту проблему При архивировании проекта у меня возникла другая проблема:

/Users/rodrigovasconcelos/MyApp/mobile/ios/MyApp-Bridging-Header.h:5:9: error: 'React/RCTBridgeModule.h' file not found
#import <React/RCTBridgeModule.h>
        ^
1 error generated.
<unknown>:0: error: failed to emit precompiled header '/Users/rodrigovasconcelos/Library/Developer/Xcode/DerivedData/MyApp-cpkesijquffkhgfgaagxybgvqlpr/Build/Intermediates.noindex/ArchiveIntermediates/Edge/PrecompiledHeaders/MyApp-Bridging-Header-swift_1E09NP8RKFO6-clang_1NNXX086AFKFR.pch' for bridging header '/Users/rodrigovasconcelos/MyApp/mobile/ios/MyApp-Bridging-Header.h'

Проблема не возникает, если я пытаюсь собрать и заархивировать с использованием последней стабильной версии XCode (9.4.1). До сих пор я пытался переустановить свои модули, очистить производные данные XCode и папку node_modules, а также искал аналогичные проблемы, но ничего не помогло.


person Rodrigo Vasconcelos    schedule 23.08.2018    source источник
comment
Почему вы хотите заархивировать приложение, используя бета-версию Xcode?   -  person l'L'l    schedule 23.08.2018
comment
@l'L'l Мне нужно создать промежуточную версию с использованием некоторых функций iOS 12 до запуска в сентябре.   -  person Rodrigo Vasconcelos    schedule 23.08.2018
comment
Находится ли рассматриваемый файл (RCTBridgeModule.h) в каталоге React? Если это так, ошибка может быть связана с тем, что Apple усложнила архивирование в бета-версии Xcode из-за своей политики. Вместо этого вы можете попробовать использовать Application Loader, который иногда, как известно, работает альтернативно.   -  person l'L'l    schedule 23.08.2018
comment
@ l'L'l Проблема, по-видимому, заключалась в том, как новый XCode обрабатывает пользовательские конфигурации (это не выпуск или отладка). Я опубликую ответ с исправлением.   -  person Rodrigo Vasconcelos    schedule 23.08.2018


Ответы (1)


На самом деле проблема была связана с тем, как React и Xcode обрабатывают пользовательские конфигурации проектов (отличные от Release/Debug).
Я наткнулся на решение, читающее эта проблема, но я вставлю ее сюда на случай, если срок действия ссылки истечет:

  1. Добавлена ​​цель сборки React по текущей схеме для моего проекта. (Примечание: если вы используете fastlane для развертывания, держите цель сборки вашего проекта на первом месте, иначе fastlane запутается и подумает, что вы создаете библиотеку, поэтому он никогда не создаст ipa).

  2. Добавлен React в разделе [Цель] > Фазы сборки > Целевые зависимости, что заставило Xcode построить React перед сборкой остальной части проекта.

  3. В разделе [Цель] > Настройки сборки добавлен новый пользовательский параметр под названием REACT_HEADERS_PATH. Для всех конфигураций, не названных Debug или Release, я установил значение $(BUILD_DIR)/Release-$(PLATFORM_NAME)/include.

  4. В разделе [Цель]> Настройки сборки> Пути поиска заголовков я добавил $(REACT_HEADERS_PATH) в качестве записи.

    Повторите для всех целей в вашем проекте.

person Rodrigo Vasconcelos    schedule 23.08.2018