2013-07-10 13 views
11

seguito off di this question,CoreBluetooth: Qual è la durata di UUID unici

Dopo il collegamento a una periferica, posso recuperare la sua CFUUIDRef, che è unica, e posso usarlo per ricollegare via retrievePeripherals. Tuttavia, ho trovato che non posso usarlo per riconnettersi dopo aver chiuso l'applicazione.

L'unico UUID generato dopo una connessione è valido solo per la durata dell'applicazione o è possibile che sia possibile salvarlo per un uso futuro? Sto cercando di far ricordare alla mia applicazione una particolare periferica, ma oltre a peripheral.UUID, non conosco altri identificatori univoci.

risposta

12

Per farla breve, SI è possibile utilizzare UUID per riconnettersi allo stesso dispositivo anche dopo aver chiuso l'applicazione (nel modo esatto in cui si dice). L'ho fatto con ognuna delle mie app corebluetooth e ti garantisco al 100% esattamente come dovresti farlo.

Suppongo tuttavia che non si stia eseguendo l'accoppiamento con la periferica ?? Questo è un grosso problema proprio lì. È necessario stabilire effettivamente la richiesta di abbinamento e ottenere la periferica da visualizzare nella tabella Bluetooth. Lo UUID verrà quindi solidificato con il dispositivo iOS e rimarrà fino a quando non si svuotano le impostazioni di rete del dispositivo iOS. (Questo ovviamente dipende dal chipset ble ... Mentre questo è valido per alcuni dei dispositivi più comuni nel settore, può essere realizzato senza di esso però. Indica il tuo chipset e ti confermerò se so in un modo o nell'altro

L'altra possibilità è che il dispositivo BLE abbia un problema di firmware, in cui dopo averlo disconnesso, si impone in modalità pubblicitaria o qualcosa del genere. Ciò comprometterà anche la tua capacità di riconnettersi. Fatemi sapere se avete domande!

+0

Ah, l'accoppiamento è esattamente il problema che ho bisogno di risolvere. Il mio problema principale adesso è che sto sviluppando senza un modulo BLE completo con cui lavorare. Quindi puoi dirmi cosa, se qualcosa deve essere fatto sul lato app/iOS durante l'abbinamento? Ho già fatto questa domanda, ma le risposte erano confuse. Scoprirò il chipset e ti risponderò su questo. Grazie! – loadedion

+0

Il lato iOS dipende in realtà dal chipset (anche dal firmware) .. quindi lascia parlare dopo averlo trovato fuori. Non voglio darti informazioni sbagliate –

+1

@TommyDevoy Giusto per chiarire: L'abbinamento è fatto quando arriviamo a 'didConnectPeripheral' funzione e andare oltre per scoprire i servizi o c'è qualche altra procedura da seguire per accoppiare un particolare dispositivo? – Jobs

Problemi correlati