Использовать FFmpeg XCFramework из Objective-C, заголовки не найдены

Я создал FFmpeg для платформ Apple как XCFramework. Для этого я использовал скрипт из https://github.com/kewlbear/FFmpeg-iOS-build-script/pull/147.

Теперь я пытаюсь использовать эту структуру внутри традиционной платформы iOS/macOS (с именем VideoEditing), которая затем используется в моем приложении iOS (скоро, чтобы попытаться стать Catalyst).

В VideoEditing Я связался с FFmpeg.xcframework а затем в приложении, которое использует VideoEditing Я связал и встроил FFmpeg.xcframework. Раньше я создавал FFmpeg как стандартную статическую библиотеку и использовал ее изнутри.VideoEditing в оболочке Objective-C++, чтобы я мог использовать все это из Swift.

В этом файле Objective-C++ я бы импортировал заголовки FFmpeg, например #import <libswscale/swscale.h>Чтобы это сработало, мне пришлось установить пути поиска заголовков. Как вы должны это сделать после преобразования в XCFramework? я пытался@import FFmpeg, #import <FFmpeg/libswscale/swscale.h>, #import <FFmpeg/swscale.h> так же как #import <libswscale/swscale.h>. В любом случае я просто получаюfile not found ошибка на import линия.

Все примеры Apple показывают это только в Swift с фреймворком, продающим модуль. Если бы я попытался установить путь поиска заголовков, теперь у вас есть разные заголовки для каждой архитектуры.

1 ответ

Пытаться @import FFmpeg а также установить Enable Modules (C and Objective C) к YESиз настроек сборки. Убедись, чтоLink Frameworks Automatically установлен на YES

Вам нужно разместить файлы заголовков параллельно xcframework и установить путь поиска заголовков для этого файла заголовка. xcframework похож на один файл.a, Xcode не будет искать заголовки внутри xcframework.

Другие вопросы по тегам