2017-02-13 98 views

回答

0

1.是的。只需製作藍牙協議併爲此操作設置一個標識符(在藍牙代理中獲取此操作)
2.編號iBeacon是爲固定信息指定的,例如ID,major。您只能找到iBeacon設備並獲取信息。但是您不能通過協議與其通信。但是,如果您可以設計iBeacon設備,則可以通過藍牙協議進行通信。

+0

感謝您的信息。但是,如果不使用iBeacon,通常使用CoreBluetooth可以在後臺應用程序發送時通過點擊就像推送本地通知一樣進行發送? – user3745888

+1

@ user3745888當你的應用程序被終止時,這是不可能的。 – Lumialxk

+0

但是..當只有背景沒有殺死ths?不可否認?像applicationDidEnterBackground – user3745888

0

是的,這是可能的,非常簡單。許多製造商製造「點擊」信標,如Radius Network的Dot型號。點擊後,信標將傳輸其唯一標識符,iOS核心位置API將喚醒您的應用程序 - 即使已被殺死或自引導以來尚未啓動 - 並提供didEnter(region: CLRegion)回調。您可以發送本地通知到

正如@Lumialxk所述,iBeacon只會發送數字標識符,因此您需要在這些標識符和消息之間進行轉換,以便在應用中顯示給用戶。這通常通過簡單的if語句或查找表來完成。

一旦你有了這個信息,你可以將它呈現給用戶的本地通知,像這樣:

let notificationMessage = "Beacon button clicked" 
    let notification = UILocalNotification() 
    notification.alertBody = notificationMessage 
    notification.alertAction = "OK" 
    UIApplication.shared.presentLocalNotificationNow(notification) 

全面披露:我爲半徑網絡工作。

+0

和可能使用藍牙podshutter或其他4.0 ble設備而不是iBeacon來做到這一點?謝謝! – user3745888

+0

您只能使用iBeacon啓動藍牙檢測應用程序,因爲Apple已將其與具有該功能的CoteLocation集成在一起。其他藍牙設備只能在應用程序處於前臺時,在後臺延遲(或根本不依賴於藍牙廣告/連接類型)後才及時執行此操作,而根本不會在應用程序死亡或自啓動以來未啓動。 – davidgyoung

+0

好的,謝謝你的回答!但我正在閱讀有關BLE背景廣告和自定義廣告數據,如本地通知..所以這個本地通知是可能的任何藍牙podshutter或其他?因爲不要說任何iBeacon .. – user3745888

相關問題