Sto lavorando a un'applicazione per iPhone e Mac OS X, che consente di bloccare e sbloccare il Mac in prossimità. Significa che se la potenza del segnale è sotto una soglia determinata o se la connessione si perde, blocca il mac.CoreBluetooth - Pubblicità iPhone in modalità backgrund
Sto lavorando con il framework CoreBluetooth di Apple per BTLE, utilizzando l'iPhone come periferica e il Mac come centrale. Fin qui tutto bene. Anche i wokrs sono molto buoni ma quando invio l'app sullo sfondo dell'iPhone, la pubblicità sembra cambiare. L'iPhone pubblicizza ancora, ma senza il profilo del servizio e le caratteristiche che uso nell'app. Anche se questo non è un problema quando l'iPhone è ancora nel raggio d'azione del Mac, poiché è ancora connesso e le caratteristiche non sono usate nella centrale, diventa un problema dopo aver spostato l'iPhone fuori dalla portata. Come previsto, il Mac si blocca e inizia a scoprire di ricollegare l'iPhone e sbloccare se riuscito.
Ma in questa scoperta utilizzo il profilo di servizio specificato e le caratteristiche solo per ottenere dispositivi che eseguono la mia app e per identificare quello per lo sblocco.
Ho provato una soluzione scoprendo senza un profilo di servizio e identificando il dispositivo corretto tramite il suo UUID, che ho salvato, quando ho iniziato a utilizzare questo iPhone per il blocco e lo sblocco. Questa soluzione funziona anche in un piccolo ambito, perché quando spengo il Bluetooth sull'iPhone e lo riaccendo, ottiene un altro UUID. Questo è un vincolo con cui potrei convivere, ma cambia anche l'UUID dopo alcune ore e quindi lo sblocco non funziona.
Forse qualcuno ha già lavorato a un'app simile e sa come risolvere un problema simile? O conosci un valore statico che posso usare per identificare il dispositivo?