Чтобы стать CBCentralDelegate, вам необходимо: а) быть подклассом NSObject и б) фактически реализовать требуемый метод протокола.Вы также должны создать общий экземпляр, который оборачивает centralManager и предоставляет доступ только к вашему интерфейсу.
public class Service: NSObject {
static let shared = Service()
private lazy var centralManager: CBCentralManager = {
return CBCentralManager(delegate: self, queue: nil)
}()
private override init() {
super.init()
}
public static func doSomething() {
//Do things with centralManager here
}
}
extension Service: CBCentralManagerDelegate {
public func centralManagerDidUpdateState(_ central: CBCentralManager) {
}
}
вызовите singleton с:
Service.shared.doSomething()