XCFramework с подчиненными зависимостями stati c frameworks - PullRequest
0 голосов
/ 13 июля 2020

У меня есть XCFramework, который зависит от нескольких c фреймворков.

Мой XCFramework построен с включенным BUILD_FOR_LIBRARIES_FOR_DISTRIBUTION. XCFramework.

Когда я пытаюсь скомпилировать XCFramework в приложении-клиенте (хосте), я получаю сообщение об ошибке в файле .swiftinterface XCFramework, в котором говорится: No such module 'FBSDKLoginKit' (FBSDKLoginKit - одна из подфреймворков XCFramework)

Кажется, что не хватает файлов swiftinterface для зависимых модулей. Например, я использую FBSDKLoginKit, но быстрый интерфейс отсутствует в XCFramework.

Для справки я компилирую фреймворк следующим образом:

xcodebuild archive -project "TestFrameowrk.xcodeproj" -scheme "TestFrameowrk" -sdk iphoneos -archivePath ~/Desktop/xcframework.arm SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES

xcodebuild archive -project "TestFrameowrk.xcodeproj" -scheme "TestFrameowrk" -sdk iphonesimulator -archivePath ~/Desktop/xcframework.x86 SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES

xcodebuild -create-xcframework -framework ~/Desktop/xcframework.x86.xcarchive/Products/Library/Frameworks/TestFrameowrk.framework  -framework ~/Desktop/xcframework.arm.xcarchive/Products/Library/Frameworks/TestFrameowrk.framework -output ~/Desktop/Framework.xcframework

Ответы [ 2 ]

0 голосов
/ 05 сентября 2020

Да, у меня была такая же проблема с зависимостью от alamofire. Итак, что происходит, когда вы генерируете xcframeworks, у вас есть зависимость от FBSDKLoginKit. Но после создания фреймворков ваш клиент хочет использовать. Вы также должны указать зависимость как FBSDKLoginKit с той же версией, тогда этой проблемы не будет. Для меня я решаю после добавления alamofire на стороне клиента.

0 голосов
/ 14 июля 2020

Пробовали ли вы добавить другие зависимости отдельно с созданным XCFramework при интеграции с клиентским проектом? Похоже, Apple рекомендует избегать использования зонтичных / вложенных фреймворков с XCFramework.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...