Невозможно связать Swift Framework с собственным модулем Expo. Компилятор не может найти файлы заголовковIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно связать Swift Framework с собственным модулем Expo. Компилятор не может найти файлы заголовков

Сообщение Anonymous »

У меня есть приложение Expo, которое будет взаимодействовать с устройством Bluetooth. Производитель устройства предоставил мне SDK в качестве быстрой платформы. Назовем его CustomBluetoothModule.framework. У меня нет исходного кода. У него есть предварительно созданный двоичный файл. В папке фреймворка также есть зонтичный файл с некоторыми заголовочными файлами. Я пытаюсь написать оболочку вокруг этой платформы, используя собственный модуль expo, чтобы я мог использовать ее в коде React Native. Проблема в том, что как только я помещаю фреймворк в собственный модуль, он выдает ошибки времени компиляции, говорящие об отсутствии заголовочных файлов:
› Executing expo-web-browser Pods/ExpoWebBrowser » Copy generated compatibility header
› Executing native-module-test Pods/TestLocalModule » Copy generated compatibility header
› Compiling Pods/Pods-nativemoduletest » Pods-nativemoduletest-dummy.m
› Packaging Pods/Pods-nativemoduletest » libPods-nativemoduletest.a
› Executing nativemoduletest » [CP] Check Pods Manifest.lock
› Executing nativemoduletest » [Expo] Configure project
› Copying ./PrivacyInfo.xcprivacy ➜ ios/nativemoduletest/PrivacyInfo.xcprivacy
› Copying ios/nativemoduletest/Supporting/Expo.plist ➜ ./Expo.plist
› Compiling nativemoduletest » SplashScreen.storyboard

❌ (/Users/pubudu/Library/Developer/Xcode/DerivedData/nativemoduletest-denbynqwuqfmebgdbtkenakcxmew/Build/Products/Debug-iphoneos/TestLocalModule/TestLocalModule-umbrella.h:13:9)

11 | #endif
12 |
> 13 | #import "CustomBluetoothModule-umbrella.h"
| ^ 'CustomBluetoothModule-umbrella.h' file not found
14 | #import "CustomBluetoothModuleDevice.h"
15 |
16 | FOUNDATION_EXPORT double TestLocalModuleVersionNumber;

❌ (/Users/pubudu/Library/Developer/Xcode/DerivedData/nativemoduletest-denbynqwuqfmebgdbtkenakcxmew/Build/Products/Debug-iphoneos/TestLocalModule/TestLocalModule-umbrella.h:13:9)

11 | #endif
12 |
> 13 | #import "CustomBluetoothModule-umbrella.h"
| ^ 'CustomBluetoothModule-umbrella.h' file not found
14 | #import "CustomBluetoothModuleDevice.h"
15 |
16 | FOUNDATION_EXPORT double TestLocalModuleVersionNumber;

Структура папок проекта следующая:
Изображение
Как видите, существует файл CustomBluetoothModuleDevice.h, который был импортирован в CustomBluetoothModule-umbrella.h. Содержимое файла CustomBluetoothModule-umbrella.h следующее:
#import "CustomBluetoothModuleDevice.h"

Я создал минимальный воспроизводимый пример здесь: https://github.com/THPubs/native-module-test
Там пытаюсь запустить npx expo run:ios -- устройство выдаст вышеуказанную ошибку. Пожалуйста, помогите мне исправить это. Я не очень хорошо знаком со Swift.
Мой TestLocalModule.podspec:
Pod::Spec.new do |s|
s.name = 'TestLocalModule'
s.version = '1.0.0'
s.summary = 'A sample project summary'
s.description = 'A sample project description'
s.author = ''
s.homepage = 'https://docs.expo.dev/modules/'
s.platforms = {
:ios => '15.1',
:tvos => '15.1'
}
s.source = { git: '' }
s.static_framework = true

s.dependency 'ExpoModulesCore'

# Swift/Objective-C compatibility
s.pod_target_xcconfig = {
'DEFINES_MODULE' => 'YES',
}

s.source_files = "**/*.{h,m,mm,swift,hpp,cpp}"
s.vendored_frameworks = 'CustomBluetoothModule.framework'
end


Подробнее здесь: https://stackoverflow.com/questions/793 ... not-find-h
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»