Проблема заключалась в том, что в нашем проекте, созданном react-native init
, LIBRARY_SEARCH_PATHS
было установлено на следующее:
LIBRARY_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)" "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)" "$(inherited)"
Если вы генерируете простой проект Xcode, LIBRARY_SEARCH_PATHS не устанавливается.
Также оказывается, что для добавленной нами зависимости требуется Swift 5.1, потому что он не совместим на двоичном уровне со старыми версиями Swift. Это вызвало поломку, потому что swift 5.0 был явно добавлен в проект react-native init
по какой-то причине. Может быть, особая проблема c здесь в том, что соглашения об именах для скомпилированного кода изменились, и Swift 5.1 ожидает URLSession.DataTaskPublisher
, а не NSURLSession.DataTaskPublisher
? Кто знает ..
Простая очистка LIBRARY_SEARCH_PATHS
, чтобы он был пустым, решила проблему для нас. Сборка отлично работает и без нее во всех остальных аспектах.
Связанный запрос на вытягивание: https://github.com/facebook/react-native/pull/29178