Tüm Bluetooth bağlantı/bağlantı kesme olaylarını dinlemeyi deniyorum. Delegenin centralManagerDidUpdateState
işlevi çağrılsa bile, Bluetooth aygıtlarını bağladığımda veya keserken hiçbir şey olmuyor.iOS Bluetooth temsilci bağlantısı işlevi çağrılmadı
Neyin yanlış gittiğine dair kafam karıştı. Böyle Merkez Müdürü/temsilci başlatmak:
var btDelegate: CBCentralManagerDelegate = BluetoothDelegate()
var btManager = CBCentralManager(delegate: btDelegate, queue: nil)
BluetoothDelegate şöyle tanımlanır:
import Foundation
import CoreBluetooth
class BluetoothDelegate : NSObject, CBCentralManagerDelegate {
func centralManager(central: CBCentralManager!, didConnectPeripheral peripheral: CBPeripheral!) {
println("connect") //this line is not called
}
func centralManager(central: CBCentralManager!, didDisconnectPeripheral peripheral: CBPeripheral!, error: NSError!) {
println("disconnect") //this line is not called
}
func centralManagerDidUpdateState(central: CBCentralManager!) {
println("state update") //this line is called
}
}
Not: Ben sürekli rağmen böyle ben Bluetooth geçiş yaparken daha devlet güncelleme olaylarını alabilir bağlayın ve bağlantı kesilmez.
tüm ayrıntılar için this documentation geçmesi gerektiğini CBCentralManagerDelegate yerine BluttoothDelegate yazın veya söyleyemiyorum. Ama başka bir cevap alamazsan, denenecek bir şey. – Gruntcakes
CBCentralManagerDelegate yerine BluetoothDelegate kullanmayı denedim, ancak davranış farklı değildi. Yine de denemeye değerdi. Yardım için teşekkürler! – lakantu
Kullandığımız bir sınıfta bir alan; Hiçbir zaman kapsam dışında kaldığını sanmıyorum. Zaten zayıf bir referans olduğunu bilmiyordum - bu bilmek güzel. – lakantu