2017-05-09 19 views
7

Bluetooth aygıtlarımın bağlantısını kesmeyi bitirdikten sonra, didDisconnectPeripheral temsilcisinde bağlantısı kesildiğini görerek, denetleyicimi reddetmeye çalışıyorum. "Geçersiz [CoreBlueooth] XPC Connection"CoreBluetooth XPC Connection İşten çıkamayan görünüm denetleyicisi geçersiz

viewcontroller görevden önce Bluetooth ile temizlenir gereken spesifik bir şey var mı: Bu mesajını görüyorum olur

?

+1

Bu görüş denetleyicisi ile ilişkili görünmemektedir. CBCentralManager ayrılmış her zaman bu mesajı alıyorum. Sadece yerel bir değişkenle test edin, ör. CBCentralManager (temsilci: yok, sıra: yok). Kapsam biter bitmez, bu hata mesajı açılır. – bcause

cevap

1

Tek bir yere CBCentralManager yerleştirdim ve hata iletisi çözüldü.

+0

Teşekkür ederim. Bu benim sorunumu çözmeme yardımcı oldu. CBCentralManager'ı yerel değişken yerine bir sınıf değişkeni olarak (işlev dışında belirtin) yapabilirsiniz. –

0

bu deneyin (CBCentralManager ayırmanın edilmeyecektir):

CBPeripheral *mConnectedPeripheral; 

-(void)viewDidDisappear:(BOOL)animated{ 
    [_centralManager cancelPeripheralConnection:mConnectedPeripheral]; 
} 
4

şu mesajı başlamıştı:

[CoreBlueooth] Geçersiz XPC Bağlantı

Ve BLE aygıtlarını tarayamadım. Aşağıdakilerden oldukça basit bir uygulama kullanarak:

NSObject<CBCentralManagerDelegate, CBPeripheralDelegate> 

benim için çözüm benim Info.plist için Gizlilik bir değer eklemek oldu - Bluetooth Periferik Kullanımı AçıklamasıNSBluetoothPeripheralUsageDescription Ben Bluetooth Periferik ile ne açıklayan.

info.plist bu gibi görünüyor: Burada daha doğru

<key>NSBluetoothPeripheralUsageDescription</key> 
<string>Play with BLE Compatible devices<string> 

şeyler yaz;)

+1

çalıştı .. Şanssız! –

+0

Böyle şeyler olduğunda, ** sorununuzu yalıtmaya çalışın ** böylece neyin başarısız olduğunu tanımlayabilirsiniz. Daha fazla ayrıntıyla burada da yorum yapabilirsiniz. Cihazlar için tarama yapan ve hatta "karakteristik" lere yazmanıza izin veren birçok açık kaynak projesi var. [Chenee/DarkBlue] (https://github.com/chenee/DarkBlue) bana yardımcı oldu. Hızlı projeler için: [Pluto-Y/Swift-LightBlue] (https://github.com/Pluto-Y/Swift-LightBlue). Benim durumumda, boş bir proje başlattım ve aygıtımla iletişim kurmak için minimum kodu yaptım, 'NSBluetoothPeripheralUsageDescription' eklemek zorunda kaldı ve – GabLeRoux

+0

çalışmam işe yaradı. –

İlgili konular