在我使用核心蓝牙的iOS应用程序中,我尝试扫描所有外围设备。在此之前,我曾经扫描过某项服务。我正在使用下面的代码。
centralManager!.scanForPeripheralsWithServices(nil, options: nil)
//centralManager!.scanForPeripheralsWithServices([BLEUUIDS.Status.Service], options: nil)
奇怪的是当第一行与服务arg的nil一起使用时,永远不会调用didDiscoverPeripheral
。当我对该行进行注释并取消注释其下方的行时,将调用didDiscoverPeripheral
。任何建议都表示赞赏。
答案 0 :(得分:0)
感谢评论Paulw11。我发现问题是我正在启动并启动我的中心作为应用程序的第一件事。 (如果你能在下面看到)。我将初始化移到了didFinishLaunchingWithOptions
内,并且能够在没有服务过滤器的情况下进行扫描。我很确定这是一个苹果虫,并计划在我有一段时间后提交雷达(其中一个)。
var centralManager = BLECentralManager.sharedInstance
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
return true
}
}
(顺便说一下,我实际上在LightBlue应用程序上做了一些工作。我很高兴看到人们正在使用它)