Встраивать различные сборки фреймворков на основе целевого SDK сборки - PullRequest
0 голосов
/ 27 февраля 2020

Я использую сторонний фреймворк (Cr onet) и хотел встроить другую сборку / версию фреймворка (например, iOS сборка симулятора или сборка устройства) на основе Build Target SDK.

Как я могу указать это в Xcode, учитывая, что имя фреймворка будет таким же, но только в другом каталоге (Debug-iphonesimulator/. Vs Debug-iphoneos/).

Я пытался добавить обе версии в Xcode Build Phases -> Embed Frameworks, но сборка не удалась и выдает дубликаты, поэтому мне пришлось выбрать только одну. (См. Рисунок).

Кстати, я хотел использовать только одну цель вместо двух целей для двух сборок.

enter image description here

1 Ответ

0 голосов
/ 27 февраля 2020

Вы можете объединить двоичные файлы симулятора и iphone Framework в один двоичный файл, используя инструмент lipo:

lipo "path/to/simulator/framework/Cronet.framework/Cronet" "path/to/iphone/framework/Cronet.framework/Cronet" -create -output "path/to/output/framework/Cronet.framework/Cronet"

Затем скопируйте любой из Cr onet .framework, замените двоичный файл Cronet на новый созданный lipo файл. После этого вы можете использовать этот фреймворк в обеих целях: симуляторе и iphone

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