Использование swift framework в objc

Я только что создал фреймворк в swift, и он отлично работает в проекте swift, но в цели c я получаю такие ошибки, как Undefined symbols for architecture armv7:, Я только что проверил доступные архитектуры, используя lipo -info, это показывает и симулятор и архитектуру устройства. Также я ссылался на эту ссылку, но бесполезно. Прикрепленное изображение тоже. Я буду признателен за любую помощь, спасибо.

2 ответа

Ниже приведен список дел в вашей платформе.

Использование Swift классов в классах Objective C

  • Используйте Open Keyword перед именем класса в Swift
  • Используйте @objc Keyword перед Open Keyword класса Swift
  • Импортируйте все заголовки целевых классов c в файл Umbrella YourProject.h, который использует Swift Classes.
  • Используйте #import в Objective c

Я следовал подходу Apple Mix and Match. Надеюсь, это поможет. Спасибо

Чтобы получить доступ к классу swift в objc, который не унаследован от NSObject, вам необходимо:

@objc публичный класс yourUtils

Класс или протокол Swift должны быть помечены атрибутом @objc, чтобы они были доступны и могли использоваться в Objective-C. Этот атрибут сообщает компилятору, что этот фрагмент кода Swift доступен из Objective-C. Если ваш класс Swift является потомком класса Objective-C, компилятор автоматически добавит для вас атрибут @objc.

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html

Другие вопросы по тегам