2012-04-23 76 views
1

任何人都可以告訴我CoreBluetooth Framework是否能夠啓動應用程序(在檢測到使用藍牙的新設備時通知應用程序)。當應用程序沒有在後臺運行時。另外我想知道應用程序在後臺運行時的情況。根據文檔,此框架將從掛起狀態啓動應用程序。任何人都可以分享一些信息,因爲我沒有Iphone 4S來測試它。CoreBluetoothFramework - 當它未運行時是否啓動IOS應用程序

由於提前

+0

您是否在應用程序檢測到新設備時啓動了應用程序 – srividya 2013-10-11 13:20:07

回答

4

據我所知,推出一個應用程序,無需用戶干預的唯一方法是,當你的應用程序使用VoIP服務。要檢測藍牙LE(BTLE)設備,CBCentralManager實例需要在您設計的應用程序的後臺運行。否則,無法檢測到附近的BTLE設備。

如果你正在設計你的應用程序,core-bluetooth有兩種類型的後臺啓用。事件和會話。

事件Backgrounding
事件backgrounding也許正是與藍牙低功耗設備交互時,大多數應用程序將使用。此模式不允許在App處於後臺時直接與附件通信,但在需要與應用程序通信時會提供附件通知。當您的應用程序處於後臺並且將繼續監視通知時,iOS將保持連接到BTLE附件。當連接的BTLE附件有可用通知時,iOS會通知用戶該附件想要與您的應用程序通話,允許用戶加載您的應用程序並與附件進行交互。由於許多設備需要節能,因此只有在確定的時間提供信息才能大大延長配件和iPhone 4S的電池壽命。

- 此模式不需要info.plist條目。

會議Backgrounding
有次,其中一個應用程序必須即使它在後臺運行的附件進行交互。考慮一個需要實時監控心率的正在運行的應用程序。這個模型有一個明確的START和STOP。用戶開始在應用程序中運行。當運行處於激活狀態時,應用程序將讀取心率信息,直到運行完成或停止。會話背景還允許掃描並連接到BTLE配件,而App在後臺。即使App在後臺,scanForPeripheralsWithServices或connectPeripheral call也會繼續。 CoreBluetooth將繼續監視與您的應用程序正在查找的服務相匹配的特定外圍設備或外圍設備,並在找到或連接時調用您的應用程序委託。請注意,每當BTLE外圍設備或iPhone 4S使用其無線電時,都會耗盡相應設備的可用電量。使用基於會話背景的應用程序開發人員必須注意電源使用情況。

  • 會話背景需要背景模式進入UIBackgroundModes,藍牙中央,在您的應用程序info.plist。
相關問題