2013-10-09 5 views

risposta

17

Un dispositivo iOS con BluetoothLE può fungere da iBeacon sì.

Partenza il codice di esempio AirLocate a https://developer.apple.com/downloads/index.action?name=WWDC%202013#

Essere un IBeacon non dare un feedback sui dispositivi che entrano in campo in modo che avrebbe dovuto attuare tale te stesso. vale a dire che dovresti avere i dispositivi che rilevano l'iBeacon e poi dire all'iBeacon che l'hanno visto attraverso altri mezzi.

+1

Grazie. Ancora una domanda: il dispositivo che è il ricevitore, è necessario che il dispositivo abbia l'applicazione in esecuzione (l'app che sta controllando per iBeacons)? Oppure l'applicazione che entra nella gamma iBeacon può essere chiusa o in background e riceverà una notifica quando entrerà nell'area di iBeacon? – Andrei

+1

Sì, controlla i documenti per 'CLLocationManager'. "In iOS, le regioni registrate con il gestore della posizione persistono tra i lanci della tua applicazione.Se si verifica un incrocio tra regioni mentre la tua app iOS non è in esecuzione, il sistema lo riattiva automaticamente (o lo riavvia) in background in modo che possa elaborare l'evento. " –

+1

@MikePollard hai provato questo con le regioni iBeacon? Non sono riuscito a farlo funzionare quando l'app è stata forzata dal multitasking. Funziona quando l'app è in background (anche se è in background da molto tempo e il sistema operativo lo ha chiuso), ma non se è stato chiuso forzatamente. – Sam

7

Sì, un dispositivo iOS può fungere da faro, da iPhone 4s in su (è richiesto Bluetooth 4.0).

Si pubblica un faro passando il dizionario da [CLBeaconRegion peripheralDataWithMeasuredPower:] a [CBPeripheralManager startAdvertising:].

La pubblicazione di un faro non ti darà alcun feedback sui dispositivi, dovrai cercare gli altri che pubblicano un faro.

Per quanto riguarda lo sfondo, non è possibile pubblicare un beacon in background, l'app deve essere in esecuzione in primo piano per quello. La scansione è possibile in background.

3

Sì, un dispositivo iOS7 può fungere da iBeacon. Puoi fare esattamente ciò che stai suggerendo se hai un'app installata su tutti i telefoni e scrivi anche un servizio web. Ciò consentirebbe al telefono A di vedere i telefoni B e C quando si trovano nelle vicinanze:

  1. L'app sul telefono A funge da iBeacon che fa pubblicità alla sua presenza.
  2. I telefoni B e C vedono questo iBeacon, svegliando l'app per effettuare una chiamata al servizio Web che segnala che entrambi vedono la trasmissione del telefono A.
  3. L'app sul telefono A interroga questo servizio Web, che restituisce un elenco di telefoni che visualizzano il telefono A. In questo esempio, l'elenco include i telefoni B e C. L'app aggiorna la visualizzazione con questo elenco.

Tutti i telefoni necessitano di Bluetooth LE, sono accesi e la tua app è installata. Avrebbero anche bisogno di connettività internet per chiamare il servizio web.

+1

Solo per calci - ecco un modo rapido per iniziare su ibeacons https://github.com/manishnath/iBeaconCenter/tree/master – manishnath

+1

Questo è un altro buon esempio che ho ottenuto ..., check it out, https://github.com/nicktoumpelis/HiBeacons –

0

Un punto che non è risultato chiaro dalle risposte precedenti è che affinché la pubblicazione funzioni (ad esempio, nel telefono A della risposta di David), l'applicazione che ha avviato la pubblicazione deve essere in primo piano.

da Apple documentation:

Mentre la vostra applicazione è in background, il nome locale non è pubblicizzato e tutti gli UUID di servizio sono collocati nella zona di overflow.

1

Se non si sta insieme su utilizzando iBeacons, questo progetto utilizza Bluetooth LE per condividere una matrice di ID tra la vicina Phones SimpleShare

È possibile impostare un ID per l'utente di ogni telefono, condividerli tra i telefoni tramite Bluetooth LE utilizzando il progetto SimpleShare (anche in modalità background), quindi interrogare un servizio Web per ottenere ulteriori informazioni sull'utente con tale ID.

0

Come accennato, un dispositivo iOS 7 può funzionare come un iBeacon, purché la tecnologia Bluetooth LE.

Per utilizzare IBeacon, è necessario iOS 7 o versione successiva, Bluetooth acceso e un dispositivo compatibile iOS:

  • iPhone 4s o poi
  • iPad (3rd generation) o versione successiva
  • iPad mini o successivo
  • iPod touch (5a generazione) o successivo.

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

Problemi correlati