iOS App连接蓝牙低功耗服务从后台

时间:2015-08-12 12:31:33

标签: ios iphone swift bluetooth core-bluetooth

我一直在构建一个使用BLE连接小型传感器的小应用程序。它工作正常。但是现在我想将应用程序放在后台,当检测到蓝牙服务时打开应用程序(或将状态从背景更改为前景)。这可能吗?

现在我有这个代码工作:

func centralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!) {

    let localName = advertisementData[CBAdvertisementDataLocalNameKey] as! String
    if !localName.isEmpty {

        println("Found the \(localName)")

        // Trying to open the app but it does not work
        dispatch_async(dispatch_get_main_queue(), { () in
            UIApplication.sharedApplication().openURL(NSURL(string: "app_url_scheme://")!)
        })

        self.centralManager!.stopScan()
        peripheral.delegate = self

        self.centralManager!.connectPeripheral(peripheral, options: nil)

    }

}

关闭应用程序并将外围设备放在上面后发现,但现在我不知道如何打开应用程序。我试图按照此tutorial使用openURL功能打开。但它没有用。

知道如何让应用程序自行打开吗?

非常感谢你的时间!

1 个答案:

答案 0 :(得分:1)

Apple有遵循的指导方针,你不能让应用程序打开“它自己”它总是需要用户输入。

我在监控信标时会弹出UILocalnotification,当用户与之交互时,您的应用程序将会打开。