Как создать фреймворк с файлами Objectivec и файлами Swift

У меня есть проект Xcode с файлами Obiective-c и swift, теперь я хочу создать фреймворк с обоими классами. Возможно ли это?

1 ответ

Да, это просто, и процесс задокументирован Apple. Пожалуйста, внимательно прочитайте "Swift и Objective-C в одном проекте", и вы будете мудрее (в разделе "Импорт кода из одной и той же целевой платформы" описывается импорт Objective-C в Swift из той же цели и другим способом).). Кратко...

  • Для целей платформы вам не нужно создавать соединительный заголовок, чтобы ваш Objective-C мог быть импортирован в Swift, вам просто нужно #import те заголовки, которые вы хотите видеть в Swift в зонтичном заголовке фреймворка. Чтобы это работало, заголовок должен быть помечен как публичный.
  • Чтобы Swift можно было импортировать в Objective-C в той же целевой платформе, убедитесь, что для цели включен "Defines Module", а в файлах, где необходимо ссылаться на типы Swift, выполните импорт в стиле #import <ProductName/ProductModuleName-Swift.h>, Если я вспоминаю это право, типы / методы / свойства Swift, к которым вы хотите получить доступ из Objective-C, должны быть объявлены public чтобы он был доступен для кода Objective-C, даже если он находится в той же цели.
Другие вопросы по тегам