我想知道在iOS上使用Eddystone beacon跟蹤實際上是否可以實現這樣的功能。ios的Eddystone beacon背景跟蹤
我目前正在研究應該掃描Eddystone信標的應用程序。 該應用程序的基本思想是: - 用戶打開應用程序; - 用戶在特定時間(將來)註冊會議; - 會議開始前5分鐘開始BT掃描; - 找到信標時執行網絡請求並向用戶顯示通知。
如果應用程序在前臺沒有問題。請致電
func startScan() {
if centralManager.state == .poweredOn {
let services = [CBUUID(string: "FEAA")]
let options = [CBCentralManagerScanOptionAllowDuplicatesKey: true]
centralManager.scanForPeripherals(withServices: services, options: options)
}
}
它將開始掃描。 然後,當找到信標並從服務器獲取正確的數據時,我將停止掃描。
所以問題是,如果在某種程度上可以安排掃描的開始,即使應用程序在後臺? 當然,如果它被殺了,那麼我們無法做任何事情。
一個想法是創建一些「沉默本地通知」,但隨後通過蘋果文檔閱讀後好像
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
}
被稱爲只有當應用程序在前臺?
任何幫助或建議,將不勝感激。
好的謝謝澄清。我擔心,當應用程序處於後臺時,無法在特定時間安排它。 – Karlis
但是如何靜默推送通知? https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CreatingtheNotificationPayload.html#//apple_ref/doc/uid/TP40008194-CH10-SW1 有一些示例說明如何配置靜默推送通知。試想這樣的情況是否會被應用商店批准: 1.發送無聲推送通知 2.啓動後臺任務以開始監視信標 – Karlis