我编写了一个iOS应用程序,用于将一些数据从我的iPhone传输到蓝牙低功耗模块。直到前天,一切都运行良好......但似乎我昨天做了一个不好的改变,现在,我的应用程序不再工作了。 didConnectPeripheral
func未被调用。将来我必须每天备份我的代码......无论如何,这是连接到我的设备的功能:
在类ScanTableView中:
var bluetoothManager: BluetoothManager = BluetoothManager()
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
selectedPeripheralIndex = indexPath.row
print(selectedPeripheralIndex!)
bluetoothManager.CBmanager.connectPeripheral(peripheralArray[selectedPeripheralIndex].peripheral, options: nil)
}
有什么遗漏?当我在connectPeripheral
课程中使用BluetoothManager
func时,我能够毫无问题地连接...但我希望能够选择合适的BLE设备,所以我有用户选择一行后连接。
在班级BluetoothManager中
var CBmanager: CBCentralManager = CBCentralManager()
func centralManager(central: CBCentralManager, didDiscoverPeripheral peripheral: CBPeripheral, advertisementData: [String : AnyObject], RSSI: NSNumber)
{
let UUID = "\(peripheral.identifier)".substringFromIndex("\(peripheral.identifier)".startIndex.advancedBy(31))
if !peripheralArray.contains({$0.UUID == UUID})
{
if peripheral.name != nil
{
peripheralArray.append(BluetoothPeripheral(name: peripheral.name!, UUID: UUID, RSSI: RSSI, peripheral: peripheral))
if peripheral.name!.containsString(DEVICE_NAME)
{
CBmanager.connectPeripheral(peripheralArray[selectedPeripheralIndex].peripheral, options: nil)
}
}
}
}
有什么想法吗?
答案 0 :(得分:0)
好的,我解决了这个问题。这似乎是全局数组的一个问题
peripheralArray
。如果我使用本地数组就可以了!