小编End*_*riu的帖子

CoreBluetooth:scanForPeripheralsWithServices无法使用服务阵列

我正在为IOS(SWIFT)开发一个BLE应用程序,我发现了一个奇怪的行为..我的测试有2个控制器,ONE带有CentralManager角色,另一个带有PeripheralManager角色.

这是我的代码(摘要):

Parameters.swift:

...
// a custome UUID created in console
let TRANSFER_SERVICE_UUID = CBUUID(string: "FB694B90-F49E-....-....-171BBA78F846")
...
Run Code Online (Sandbox Code Playgroud)

Peripheral.swift

...
var pManager = CBPeripheralManager()
var transferService = CBMutableService()

override func viewDidLoad() {
    super.viewDidLoad()
    pManager = CBPeripheralManager(delegate: self, queue: nil)
}

func peripheralManagerDidUpdateState(peripheral: CBPeripheralManager!) {
    if(peripheral.state == CBPeripheralManagerState.PoweredOn) {
        transferService = CBMutableService(type: TRANSFER_SERVICE_UUID, primary: true)
        // add some characteristic
        pManager.addService(transferService)
        pManager.startAdvertising(nil)
    }
}
...
Run Code Online (Sandbox Code Playgroud)

Central.swift

...
var cManager = CBCentralManager()

override func viewDidLoad() {
    super.viewDidLoad()
    cManager = CBCentralManager(delegate: self, queue: nil)
} …
Run Code Online (Sandbox Code Playgroud)

objective-c ios core-bluetooth bluetooth-lowenergy swift

2
推荐指数
1
解决办法
6416
查看次数