Обертывание iOS-фреймворка в Swift CLI-совместимый фреймворк - PullRequest
1 голос
/ 09 июля 2019

Так что я пытаюсь использовать эту статью (вариант 3B), чтобы взять существующую платформу iOS и использовать ее с консольным приложением Swift. Тем не менее компоновщик все еще не может найти оболочку:

ld: каркас не найден CLI_Wrapper0 clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)

В новом фреймворке я связал оригинальный фреймворк на вкладке Общие основной цели. Я изменил настройки сборки оболочки:

//:configuration = Debug
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES

//:configuration = Release
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES

//:completeSettings = some
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES

Наконец, я добавил шаг «Копировать файлы» в «Фазы сборки» и настроил его для копирования оригинального фреймворка в место назначения «Frameworks» оболочки. В путях поиска фреймворка оболочки ничего нет.

Теперь в консольном приложении я удалил зависимость от исходного фреймворка и связал новую библиотеку оболочки на вкладке Общие. А в пользовательских настройках сборки:

//:configuration = Debug
SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES
SWIFT_FORCE_STATIC_LINK_STDLIB = NO

//:configuration = Release
SWIFT_FORCE_DYNAMIC_LINK_STDLIB = YES
SWIFT_FORCE_STATIC_LINK_STDLIB = NO

//:completeSettings = some
SWIFT_FORCE_DYNAMIC_LINK_STDLIB
SWIFT_FORCE_STATIC_LINK_STDLIB

И в пути поиска пути запуска консольного приложения, которое я добавил (##### = исходная структура):

//:configuration = Debug
LD_RUNPATH_SEARCH_PATHS = @executable_path/#####.framework/Versions/Current/Frameworks

//:configuration = Release
LD_RUNPATH_SEARCH_PATHS = @executable_path/#####.framework/Versions/Current/Frameworks

//:completeSettings = some
LD_RUNPATH_SEARCH_PATHS

Я что-то положил не туда (я пытался убедиться, что я обновил правильные настройки приложения / фреймворка) или путь, которым я пользуюсь, плох? Любая помощь будет признательна.

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