this is actually happening when we do self.peripheralManager?.startAdvertising(self.uuidData) ? do you have any idea.?
func startAdvertiser(uuid: CBUUID, timeout: Double) -> Single<AdvertiserErrorCode> {
return Single.create { emitter in
Utils.blePrint("@startAdvertiser uuid: \(uuid.uuidString), timeout: \(timeout), state: \(self.peripheralManager?.state.rawValue ?? -1), isAdvertising: \(self.advertising)")
if (self.peripheralManager?.state == CBManagerState.poweredOn) {
self.timeout = timeout
self.uuidData = [
CBAdvertisementDataServiceUUIDsKey: [uuid]
]
self.emitter = emitter
self.restartAdvertising()
} else {
Utils.blePrint("@startAdvertiser BT not powered on, state: \(self.peripheralManager?.state.rawValue ?? -1)")
emitter(.success(AdvertiserErrorCode.BLUETOOTH_NOT_ON))
}
return Disposables.create {
}
}
}
Topic:
App & System Services
SubTopic:
Hardware
Tags: