2015-08-12 2 views
0

Я создаю небольшое приложение, которое соединяется с маленьким датчиком с использованием BLE. Он работает нормально. Однако теперь я хочу разместить приложение в фоновом режиме и когда обнаружена служба из Bluetooth, откройте приложение (или измените состояние с фона на передний план). Это возможно?Приложение для подключения к iOS Bluetooth Низкое энергопотребление от фона

Сейчас у меня есть этот код работать:

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

Все что вы можете сделать, это опубликовать локальное уведомление. Вы не можете перенести свое приложение на передний план. – Paulw11

+0

Благодарим вас за комментарий. Это то, что я себе представлял, но надеялся, что есть решение. – jantunes

ответ

1

У Apple есть рекомендации, которые следует соблюдать, и вы не можете заставить приложение открывать «сам», ему всегда нужен пользовательский ввод.

Что я делаю, когда наблюдаю за маяками, появляется сообщение UILocalnotification, и когда пользователь взаимодействует с ним, ваше приложение откроется.

+0

Спасибо Кейну за ответ. Это я и представлял, но надеялся, что есть решение. – jantunes

Смежные вопросы