У меня есть приложение для iOS, которое действует как central
и подключается к внешнему peripheral
через CoreBluetooth.
После подключения к peripheral
я считываю и записываю в него данные изатем отключите.После отключения я пытаюсь установить соединение еще раз, чтобы в следующий раз peripheral
перешел в режим advertise
, приложение подключилось бы к нему так:
func centralManager(_ central: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
central.connect(peripheral, options: nil)
// More actions here...
}
Отлично работает, когда приложениенаходится в foreground
/ background
, но когда terminated
, он вообще не работает.
Я определил CBCentralManager
с CBCentralManagerOptionRestoreIdentifierKey
следующим образом:
self.central = CBCentralManager(delegate: self, queue: nil, options: [CBCentralManagerOptionRestoreIdentifierKey: Application.bluetoothRestoreIdentifier])
Я также реализовал willRestoreState
центральный метод делегата:
func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : Any])
Что я делаю не так?
Спасибо большое!