2013-12-16 9 views
7

Sono vicino a terminare un'app utilizzando i beacon Estimote con il loro UUID hardcoded nel mio progetto che elencano tutti i beacon Estimote usando l'API ibeacon, ma quando sto provando a creare il mio dispositivo come trasmettitore beacon utilizzando il dispositivo UUID, che è diverso dallo stimote UUID, non riesco a trovarlo, poiché l'UUID che ho citato nel codice è Estimote.È possibile accedere a tutti i beacon con l'API ibeacon?

Quindi la mia domanda è, c'è un modo per trovare tutti i beacon (Ex-Estimote Beacons, Kontakt Beacons, Blue Cat Beacons e hardware ibeacon) che posso rintracciare con l'API ibeacon di Apple?

Con lo stesso codice volevo tenere traccia di tutti i beacon senza codificare alcun UUID?

è possibile?

+0

1) Che cosa ha a che fare con 'xcode'? 2) Per favore condividi ciò che hai provato fino ad ora come una qualche forma di codice. – Popeye

+1

@Popeye: non è necessario il codice, si tratta di una ben nota limitazione dell'API iOS per l'interazione con i messaggi iBeacon. –

risposta

1

No, è deve indicare a CoreLocation il ProximityUUID di qualsiasi iBeacon che si desidera venga visualizzato dall'applicazione o che non lo indicherà. Vedi http://developer.radiusnetworks.com/2013/10/21/corebluetooth-doesnt-let-you-see-ibeacons.html

Ciò non significa che è necessario codificare manualmente ogni UUID nella propria app. Ciò richiederebbe di inviare nuovamente l'app per l'approvazione ogni volta che aggiungi un iBeacon con un altro UUID.

Un'alternativa è utilizzare un servizio Web per fornire un elenco di UUID da cercare. Puoi crearne uno tuo oppure utilizzare il servizio ProximityKit della mia azienda che fa questo per te.

+0

il certificato per il collegamento non è valido a causa di una mancata corrispondenza del nome host. È qualcosa che conosci o hai un uomo nel mezzo? –

+0

L'URL è stato modificato e il vecchio URL non ha più un certificato. Ho corretto l'URL. – davidgyoung

0

Ho scritto un'app per banco di prova per la mia azienda che ha una serie di UUID. Salva un set predefinito di UUID ai valori predefiniti dell'utente utilizzando la chiamata registerDefaults.

L'utente può quindi creare nuovi UUID a volontà, oltre a condividerli con altri dispositivi. (Utilizzo di UIActivity, quindi è possibile condividere via AirDrop, messaggi, e-mail, ecc.)

Consente di immettere un UUID come cifre esadecimali oppure toccare un pulsante "crea nuovo UUID" per generare un nuovo UUID .

Ho incluso l'UUID Estimote e 3 UUID inclusi Apple e un paio di UUID.

La nostra app per banco di prova utilizza quindi l'elenco di UUID per entrambi gli ID di trasmissione e ricezione.

Così mentre gli UUID sono memorizzati localmente, non sono hardcoded.

È anche possibile recuperare un elenco di UUID da un servizio Web come proposto da David o utilizzare iCloud per recuperare un elenco di ID definito dall'utente su tutti i dispositivi che utilizzano lo stesso AppleID.

1

No, Apple ha posto delle restrizioni al ritrovamento di Ibeacon sconosciuto. Non è possibile trovare alcun faro sconosciuto. Anche se ci sono alcuni hack che non sono così efficaci. Inoltre non ci può essere più di un Udid che una regione di app possa contenere. Quello che puoi fare è chiedere all'utilizzatore ciò che Udid vuole monitorare, quindi l'app può spaziare. Ci scusiamo per l'ortografia sbagliata, se presente ..

0

Un'amara verità per coloro che desiderano scoprire iBeacons arbitrari e i loro uuid.

  • Non sembra esserci alcun trucco per cercare un iBeacon arbitrario su iOS: è necessario conoscere almeno il ProximityUUID per visualizzarne uno.
  • L'uso di CoreBluetooth è piuttosto inutile per lavorare con iBeacons.Puoi vedere i loro annunci pubblicitari e misurare la potenza del segnale, ma non puoi vedere nessuno degli identificatori e, quindi, non sai nemmeno per certo se la pubblicità che vedi è un iBeacon, rispetto a qualsiasi altro dispositivo BluetoothLE .
+0

Sì, ma se il poster aveva veramente bisogno di scoprire UUID sconosciuti, potevano semplicemente usare qualsiasi cosa * diversa * da un iDevice. Dal momento che il poster è il produttore del dispositivo che desiderano rilevare, non hanno realmente bisogno di scoprire UUID arbitrari, ma piuttosto semplicemente di avere un'infrastruttura migliore per configurare l'app per scoprire quelli applicabili in un dato momento/luogo. –