ボタンが付いたBluetoothデバイスがあります。デバイスのボタンをクリックすると、通知特性更新と私のアプリケーションはローカル通知を表示します。それは簡単です。ユーザーがアプリを終了したときにBluetoothデバイスを再接続する
Iは以下のように前景のBluetoothデバイスを接続:
var restoreOptions = [CBPeripheralManagerOptionRestoreIdentifierKey: "customIdentifier"]
centralManager.connect(peripheral, options: restoreOptions)
そしてsetted通知特性値が真である:
peripheral.setNotifyValue(true, for: notificationCharacteristic)
通知特性更新、アプリケーションがローカル通知を示す:
func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
showLocalNotification()
}
通知特性は変更され、didUpdateValueForがトリガされ、ローカル通知が表示されます。前景と背景に問題はありません。しかし、アプリケーションがユーザによって終了されると、ブルートゥースデバイスは切断され、didUpdateValueForはトリガされない。私も、特性の変化がユーザーによって終了された場合でも、Bluetoothデバイスを再接続したい。これどうやってするの ?私は自分の問題を教えてくれることを願っています。ありがとうございました。
本当ですか?あなたはタイルアプリを知っていますか?タイルアプリはこれを行います。タイルアプリケーションが終了すると、タイルボタンを押してタイルデバイスを再接続します。 – sorunluadam
タイルアプリがユーザーまたはシステムによって"で終了した場合、どういう意味ですか"? – Neo
私はユーザーによって終了したことを意味します。 – sorunluadam