【发布时间】:2016-10-03 21:28:10
【问题描述】:
我正在尝试使用蓝牙 我有这样的事情:
func centralManager(central: CBCentralManager, didConnectPeripheral peripheral: CBPeripheral) {
Connected = true
TableView.reloadData()
Activityview.stopAnimating()
TabBar.topItem!.rightBarButtonItem = UIBarButtonItem(title: "Suivant", style: UIBarButtonItemStyle.Done, target: nil, action: #selector(Connexion.next))
CM.stopScan()
Scanning = false
Refresh_Button.setTitle("Deconnecté", forState: UIControlState.Normal)
let AlertMessage = UIAlertController(title: "Connecté", message: "Le module est bien connecté", preferredStyle: .Alert)
let ActionAlert = UIAlertAction(title: "Ok", style: .Default) { (action) in }
AlertMessage.addAction(ActionAlert)
self.presentViewController(AlertMessage, animated: true, completion: nil)
peripheral.delegate = self
let servicetoFind = CBUUID(string: "19B10000-E8F2-537E-4F6C-D104768A1214")
peripheral.discoverServices([servicetoFind])
}
我的服务功能:
func peripheral(peripheral: CBPeripheral, didDiscoverServices error: NSError?) {
print("found service")
print(peripheral)
print(peripheral.services)
print(error)
for service in peripheral.services! {
print("Searching for charac...")
peripheral.discoverCharacteristics(nil, forService: service)
}
}
找到我的服务并进入控制台:
found service
<CBPeripheral: 0x13ce1c430, identifier = F39F9D5D-98FE-A350-17BD-21C1185E2089, name = GENUINO 101-1E2D, state = connected>
Optional([])
nil
为什么我的外围设备的服务在发现后仍然为空但没有错误?
有什么想法吗?
谢谢!
【问题讨论】:
-
您是否已将您的
peripheral保存在属性中,也许保存在此处未显示的didDiscover,,中? -
我将找到的所有外围设备记录到一个 CBPeripheral 数组中,如下所示:Peripherals.append(peripheral)。但我还没有使用它们。
标签: ios swift bluetooth swift2 cbperipheral