Ответ 1
Это похоже на проблему с cocoa-бобами, необходимыми для связи React с вашим проектом.
Попробуйте запустить pod install
в каталоге вашего проекта с помощью терминала, а затем попробуйте собрать.
У меня есть собственный компонент реагирования, написанный на Swift, и я хочу извлечь его в качестве фреймворка, чтобы другие проекты/люди могли легко его использовать.
Сначала я создал новый проект для iOS Foo
, добавил цель фреймворка,
затем добавил исходные файлы. Наконец-то я его построил.
Не удалось, потому что:
Bar.swift: [lineNumber]: использование неразрешенного идентификатора 'RCTConvert' RNBarManager.swift: [lineNUmber]: использование необъявленного типа 'RCTViewManager'
Я запустил react-native link
, но ничего не изменилось.
React.xcodeproj
в проект Foo
и добавьте libReact.a
в Link
Binary With Libraries
.$(SRCROOT)/../node_modules/react-native/React
к Header Search Paths
.Но это не работает. Ошибка все еще остается.
Я подумал, может быть, Swift не распознает эти файлы.
Поэтому я добавил Foo-Bridging-Headers.h
, как сделал это в приложении React-Native, которое содержит следующий код:
#import "React/RCTBridge.h"
#import "React/RCTViewManager.h"
#import "React/RCTUIManager.h"
#import "React/UIView+React.h"
#import "React/RCTBridgeModule.h"
Я также добавил Foo-Bridging-Headers.h
в Build Settings->Swift Compiler - General->Object-C Bridging Header
,
Тем не менее я получил ошибку.
использование мостовых заголовков с целевыми объектами не поддерживается
Кажется, здесь не разрешены соединительные заголовки.
Я пытался добавить этот импорт в Foo.h
,
но снова получил ошибку.
Foo.h: 21: 9: включение немодульного заголовка в модуль фреймворка 'Foo'
Это похоже на проблему с cocoa-бобами, необходимыми для связи React с вашим проектом.
Попробуйте запустить pod install
в каталоге вашего проекта с помощью терминала, а затем попробуйте собрать.
Связывание происходит в приложении хостинга, а не в созданной вами структуре. Это просто нужно заголовки.