2017-12-14 205 views
5

Üzerinde bir düğmeyle bir bluetooth cihazım var. Cihazın düğmesine tıklandığında, bildirim özellik güncellemesi ve benim uygulamam yerel bildirimi gösterir. Bu kadar basit.Uygulama, kullanıcı tarafından sonlandırıldığında bluetooth cihazını yeniden bağlayın

Olarak aşağıdaki ön bluetooth cihazı bağlamak:

var restoreOptions = [CBPeripheralManagerOptionRestoreIdentifierKey: "customIdentifier"] 
    centralManager.connect(peripheral, options: restoreOptions) 

sonra ayarlı bildirim karakteristik değer geçerlidir:

peripheral.setNotifyValue(true, for: notificationCharacteristic) 

bildirim karakteristik güncelleştirme, uygulama yerel bildirim gösterdiğinde:

func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { 
     showLocalNotification() 
    } 

Bildirim olduğunda karakteristik değişkendir, didUpdateValueFor tetiklenir ve yerel bildirim gösterilir. Ön planda ve arka planda problem yoktur. Ancak, uygulama kullanıcı tarafından sonlandırıldığında, bluetooth cihazı bağlantısı kesilir ve tetiklenmemiş didUpdateValueFor. Ben bile uygulama tekrar kullanıcı tarafından sonlandırılır zaman bluetooth cihazı tekrar tekrar bağlamak istiyorum. Bunu nasıl yapabilirim ? Umarım sana problemimi söyleyebilirim. Teşekkür ederim.

cevap

0

etkinleştirebilir ve program App Core-Bluetooth Background Mode

App bazı kaynakları boşaltmak için işletim sistemi tarafından öldürülen durumunda cihaz yeniden mümkün olacak bu şekilde ele almak gerekir.

"Uygulamanız Çekirdek Bluetooth arka plan yürütme modlarından birini veya her ikisini de destekliyor olsa bile, sonsuza kadar çalışamaz. Bazı noktalarda, sistemin geçerli ön plan uygulaması için belleği boşaltması için uygulamanızı sonlandırması gerekebilir. Örneğin, iOS 7'den itibaren, Core Bluetooth merkezi ve çevre birimi yöneticisi nesneleri için durum bilgisini kaydetmeyi ve uygulama başlatma zamanında bu durumu geri yüklemeyi destekler.Bu özelliği uzun süreli eylemleri desteklemek için kullanabilirsiniz. Bluetooth cihazlarının "

dahil edilmesi, ancak kullanıcının Uygulamanızı sonlandırması durumunda tekrar bağlanamazsınız.

+0

Emin misiniz? Çini uygulamasını biliyor musunuz? Döşeme uygulaması bunu yapın. Döşeme uygulaması sonlandırıldığında, kiremit düğmesine ve kiremit cihazına yeniden bağlanıyorum. – sorunluadam

+0

Karo uygulaması kullanıcı veya sistem tarafından " sonlandırıldığında " ile ne demek istiyorsunuz? – Neo

+0

Kullanıcı tarafından sonlandırıldı. – sorunluadam