Вы получаете сообщение об ошибке, что ваш класс не соответствует NSObjectProtocol. Я столкнулся с аналогичной проблемой при использовании CBCentralManagerDelegate, который является основным API Bluetooth, предоставляемым Apple.
Появилась ошибка: «Невозможно объявить о соответствии« NSObjectProtocol »в Swift; Вместо этого «BLEHandler» должен наследовать «NSObject». Вы хотите добавить заглушки протокола?»
Хотя добавление и внедрение заглушек протокола может быть лучшим вариантом, вот решения, которые вы можете попробовать.
Рабочие решения
- Самый простой способ реализовать необходимые методы заглушки протокола — создать подкласс NSObject (проверьте второй код).
class BLEHandler : CBCentralManagerDelegate //Error popped class BLEHandler : NSObject, CBCentralManagerDelegate //Error resolved
2. Убедитесь, что вы создаете подкласс основного, а не его расширения.
extension BLEHandler : NSObject, CBCentralManagerDelegate // wont work
Спасибо за чтение, я был бы признателен за аплодисменты за эту историю и оставил свои комментарии ниже, если это было полезно для вас.