Так что я смешиваю swift и objc везде.У меня есть разработка под названием Renetik.У него есть некоторые расширения, написанные на swift, но это в основном объективный код c.Теперь я написал некоторый класс и использовал его в основном проекте, и хотел переместить его в модуль разработки Renetik.Когда я делаю это как-то в Renetik-Swift.h, создается неправильный импорт, и проект не компилируется.
#import <Renetik/Renetik.h>
Тогда я много экспериментировал.И обнаружил, что неправильный импорт генерируется, когда я на самом деле возвращаюсь из функции класса swift, определенной в самом модуле.Это происходит именно тогда, когда я пытаюсь сделать это в разработке Pod, где в основном цель-c.Другие быстрые расширения и классы работают просто так, когда я пытаюсь изменить какой-то класс, чтобы он возвращал класс objc, определенный в самом модуле.
Я напишу пример, когда все в порядке.Это прекрасно компилируется, и я могу вызвать функцию testMe из основного проекта:
@objc public class ReplaceMe: NSObject {
@objc public func testMe() {
let variable = CSResponse<NSObject>()
variable.cancel()
}
}
Как раз то небольшое изменение и неправильный заголовок генерируются, как я уже говорил:
@objc public class ReplaceMe: NSObject {
@objc public func testMe() -> CSResponse<NSObject> {
let variable = CSResponse<NSObject>()
variable.cancel()
return variable
}
}
Я использую use_frameworks!
в подфайле как use_modular_headers!
не работают по другим причинам.Я могу настроить ветку в проекте Github, где это происходит, так как это с открытым исходным кодом.