有时,我的应用程序会连接到外围设备(即“ didConnectPeripheral”被调用),但它不会发现可用服务(“ didDiscoverServices”未被调用)。当这种情况发生时,外围设备(基于nRF8001的Adafruit Bluefruit)会说它没有连接!这只会在启动应用程序约五分之一的时间发生。
以下代码块始终执行:
有没有想法为什么 "didDiscoverServices" 没有被调用?(我在第五代IPod touch上运行应用程序)
以下代码块始终执行:
func centralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!) {
//Connect to the peripheral if its a UART
if(peripheral.name == "UART") {
currentPeripheral = peripheral
currentPeripheral.delegate = self
central.connectPeripheral(currentPeripheral, options: nil)
}
}
func centralManager(central: CBCentralManager!, didConnectPeripheral peripheral: CBPeripheral!) {
println()
println("Connected to: \(peripheral.name)")
peripheral.discoverServices(nil)
connectionStatus = .Connected
central.stopScan()
println("***Stopped scanning***")
}
有没有想法为什么 "didDiscoverServices" 没有被调用?(我在第五代IPod touch上运行应用程序)
currentPeripheral.discoverServices(nil)
而不是peripheral.discoverServices(nil)
,会发生什么? - LarmecurrentPeripheral.discoverServices(nil)
,结果还是一样的。 - Faris