2013-10-09 48 views

回答

17

帶有BluetoothLE的iOS設備可以充當iBeacon。

退房在https://developer.apple.com/downloads/index.action?name=WWDC%202013#

的AirLocate示例代碼作爲一個iBeacon顯示沒有給出任何關於進入探測範圍的設備的反饋,所以你就必須實現一個自己。即您必須擁有能夠檢測到iBeacon的設備,然後告訴他們通過其他方式看到的iBeacon。

+1

感謝。還有一個問題:作爲接收器的設備,該設備是否需要運行應用程序(正在檢查iBeacons的應用程序)?或者,進入iBeacon範圍的應用程序是否可以關閉或在後臺運行,它會在進入iBeacon區域時收到通知? – Andrei

+1

是的,查看「CLLocationManager」的文檔。 「在iOS中,您在位置管理器中註冊的區域會在您的應用程序啓動之間持續存在。如果在您的iOS應用程序未運行時發生區域交叉,系統會在後臺自動將其喚醒(或重新啓動),以便它可以處理事件。「 –

+1

@MikePollard你用iBeacon地區試過這個嗎?當應用程序從多任務處理中被強制關閉時,我一直無法運行它。它可以在應用程序處於後臺時運行(即使它已經在後臺運行了很長時間並且操作系統已經關閉了它),但是如果它是強制關閉的,則無法運行。 – Sam

7

是,iOS設備可以充當信標,從iPhone 4S和向上(藍牙4.0必需)。

這可以通過使用從字典到[CLBeaconRegion peripheralDataWithMeasuredPower:]發佈[CBPeripheralManager startAdvertising:]一盞明燈。

發佈一盞明燈不會給你的設備上的任何反饋,你必須掃描別人發佈的燈塔。

至於利於讓一個後臺,你不能在後臺發佈一盞明燈,你的應用程序需要在前臺爲正在運行。可以在後臺進行掃描。

3

是的,iOS7設備可以充當iBeacon。如果您在所有手機上安裝了應用程序,則您可以按照自己的建議進行操作,並且還可以編寫Web服務。這將允許電話A在附近看到電話B和電話C:

  1. 您的手機A上的應用充當了iBeacon廣告其存在。
  2. 電話B和C看到這個iBeacon,喚醒您的應用程序打電話給您的Web服務報告,他們都看到電話A的傳輸。
  3. 您的應用程序在手機上查詢該Web服務,它返回看看電話A.在這個例子中的手機列表,該列表包括手機B和C.您的應用程序更新其顯示與此列表。

所有手機都需要藍牙LE,打開它並安裝應用程序。他們還需要互聯網連接來調用Web服務。即沒有從以前的答案出來明確

+1

只是踢 - 這是一個快速開始ibeacons的方法https://github.com/manishnath/iBeaconCenter/tree/master – manishnath

+1

這是另一個很好的例子,我得到了...,檢查出來,https:/ /github.com/nicktoumpelis/HiBeacons –

0

的一點是,爲了使出版工作(例如,在大衛的答案是電話的A),開始出版必須在前臺的應用。

從Apple documentation

當你的應用程序是在後臺,本地名稱不發佈 和所有服務的UUID被放置在溢出區。

1

如果您沒有設置使用iBeacons上,該項目採用藍牙LE附近phones- SimpleShare

您可以設置一個ID爲每部手機的用戶,它們之間共享共用一個ID數組通過Bluetooth LE使用SimpleShare項目(即使在後臺模式下)通過藍牙LE之間的電話之間,然後查詢Web服務以查找有關具有該ID的用戶的更多信息。

0

如前所述,一個iOS 7設備可以充當iBeacon,只要它藍牙LE技術。

要使用iBeacon顯示,您需要使用iOS 7或更高版本,開啓藍牙功能,併兼容iOS設備:

  • iPhone 4S或更高版本
  • 的iPad(第三代)或更高版本
  • iPad mini或更高版本
  • iPod touch(第5代)或更高版本。

http://support.apple.com/kb/HT6048

相關問題