Как сделать Objective-C Статически Связанные фреймворки для поддержки импорта Swift - PullRequest
0 голосов
/ 04 ноября 2019

Я создал Objective-C Statically Linked Framework из этого урока два года назад. Теперь мне нужно поддерживать имплантат Swift для моей платформы. Что я могу сделать?

import MySDK

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019

Я нашел способ решить мою проблему.

Добавьте файл module.modulemap в ваш библиотечный проект.

framework module MySDK {
  umbrella header "MySDK.h"

  export *
  module * { export * }
}

И добавьте этот фрагмент сценария в ваш Run Scripts из Aggregate target.

# Support module map
dst=${MY_FRAMEWORK_LOCATION}/Modules/
mkdir -p "${dst}"
cp "/Path/To/module.modulemap" "$dst"

Фрагмент скрипта добавит каталог и скопирует файл карты модуля в вашу инфраструктуру.

0 голосов
/ 04 ноября 2019

Попробуйте создать фреймворк через iOS 12, Xcode 10 и Swift 4.2: https://www.raywenderlich.com/5109-creating-a-framework-for-ios

Или, если вы хотите использовать ваш Objective C-фреймворк в Swift, вам нужно сделать следующее:

Если у вас есть проект Swift, добавьте новый файл Objective-C в ваш проект, и Xcode предложит вам сконфигурировать ваш проект с помощью соединительного заголовка. Нажмите yes.

Если у вас есть проект Objective-C, добавьте в него новый файл Swift, и вы получите то же приглашение. Нажмите yes.

Получив заголовок моста, вы можете удалить только что добавленный файл, если хотите.

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