Я пытаюсь реализовать протокол HopperPlugin Objective-C из Hopper SDK в классе Swift.
Сбой компилятора с ошибкой "Type 'MyPlugin' cannot conform to protocol 'HopperPlugin' because it has requirements that cannot be satisfied"
.
Я импортировал все типы SDK в заголовке моста.Я использовал XCode «Refactor / Generate Missing Function Definitions» для генерации всех заглушек, но одна отсутствует, потому что Hopper API использует указатель на неполный тип для HopperUUID следующим образом:
@class HopperUUID;
…
@protocol HopperPlugin <NSObject>
…
- (HopperUUID *)pluginUUID;
I'mдогадываюсь здесь, но, похоже, именно поэтому я не могу соответствовать требованиям протокола HopperPlugin.Я сам не создаю экземпляр этого типа - мне нужно вызвать HopperUUID! HPHopperServices.uuid(String!)
, чтобы получить его, но этот метод также не определен (автозаполнение XCode показывает все другие функции HPHopperServices, но не эту).Документы Apple предполагают, что он может быть сопоставлен с OpaquePointer
, но с этой подписью также не генерируется ни одной функции.
Как мне диагностировать, что происходит не так?Я использовал рефактор и автозаполнение XCode для реализации и определения функций, о которых знает Swift.Те, которые относятся к неполному типу HopperUUID, не определены.Есть ли более подробный вывод компилятора, который скрыт от меня?
Что мне нужно сделать, чтобы успешно реализовать этот протокол в Swift?