gpt4 book ai didi

ios - 并非在所有情况下都调用 Swift BLE 函数 didConnectPeripheral

转载 作者:搜寻专家 更新时间:2023-11-01 05:38:55 25 4
gpt4 key购买 nike

我编写了一个 iOS 应用程序,用于将一些数据从我的 iPhone 传输到蓝牙低功耗模块。直到前天,一切正常......但似乎我昨天做了一个不好的改变,现在,我的应用程序不再工作了。 didConnectPeripheral 函数未被调用。以后我每天都要备份我的代码...无论如何这是连接到我的设备的功能:

在 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)
}

有什么遗漏吗?当我在我的 BluetoothManager 类中使用 connectPeripheral 函数时,我可以毫无问题地进行连接...但我希望能够选择正确的 BLE 设备所以我必须在用户选择一行后进行连接。

类蓝牙管理器

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)
}
}
}
}

有什么想法吗?

最佳答案

好的,我解决了这个问题。好像是全局数组的问题外围数组。如果我使用本地数组,它就可以工作!

关于ios - 并非在所有情况下都调用 Swift BLE 函数 didConnectPeripheral,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33240148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com