Как создать фреймворк с файлами 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, даже если он находится в той же цели.