2013-12-12 17 views
11

Sto sviluppando un dispositivo Bluetooth LE e sto avendo problemi a causa del caching dei servizi di MacOS. Se provo a eliminare un servizio o a modificare il suo UUID sul dispositivo che sto sviluppando, la modifica non viene visualizzata sul Mac e invece continuo a visualizzare il vecchio elenco di servizi e UUID dal dispositivo. Ho provato ad andare su un altro Mac che non era accoppiato con il mio dispositivo e ha visto il nuovo elenco di servizi con gli UUID corretti, quindi sembra essere un problema di cache con il mio sviluppo Mac.Come posso cancellare la cache CoreBluetooth su MacOS?

Ho trovato il file com.apple.Bluetooth.plist in/Library/Preferences e l'ho eliminato, ma il sistema lo ha rimesso con gli stessi dati, presumo che il sistema abbia caricato la cache in memoria e lo stia solo scrivendo tornare indietro quando necessario.

Qualcuno sa come pulire la cache del dispositivo/del servizio MacBar CoreBluetooth?

risposta

31

Alla fine ho trovato la fonte del problema: c'è una cache nella cartella delle preferenze utente in una cartella chiamata ByHost. Ecco i passaggi per cancellare la cache Bluetooth:

  • Spegnere Bluetooth
  • Elimina com.apple.Bluetooth.plist da /Library/Preferences
  • eliminare i file denominato com.apple.Bluetooth.somehexuuidstuff .plist da ~/Library/Preferences/ByHost (notare che questa è la cartella di preferenza utente, non il sistema di uno)
  • Attiva Bluetooth

Dopo aver fatto ciò, i servizi della mia periferica sono identificati correttamente. Da quello che ho trovato sul web, potrebbero esserci anche altri file com.apple.Bluetooth in/Library/Preferences relativi a HID o cuffie o qualcosa del genere - non so se è importante eliminarli perché non li ho averli sul mio sistema.

+0

Ho riscontrato molto questo problema sui miei dispositivi. Per iOS (non OSX), ho scoperto che su iOS, è sufficiente circa l'80-90% del tempo per spegnere e disattivare il BT per eliminare i problemi di memorizzazione nella cache. L'altro 10-20%, faccio un riavvio del dispositivo, e funziona. – SJoshi

+0

Ogni aggiornamento a El Capitan 10.11.x mi ha richiesto di cancellare i file plist "ByHost" affinché il Bluetooth funzioni di nuovo, ma devo riavviare prima. – doublesharp

+0

Provato questo con Sierra e quando riaccendo bluetooth, gli elementi 19950 in CoreBluetoothCache sono ancora nella nuova com.apple.Bluetooth.plist – Neth

Problemi correlati