2013-12-12 4 views
11

Ich entwickle ein Bluetooth LE-Gerät und habe Probleme, weil MacOS die Dienste zwischenspeichert. Wenn ich versuche, einen Dienst zu löschen oder seine UUID auf dem Gerät zu ändern, das ich entwickle, wird die Änderung nicht auf dem Mac angezeigt, und stattdessen sehe ich weiterhin die alte Liste der Dienste und UUIDs vom Gerät. Ich habe versucht, zu einem anderen Mac zu wechseln, der nicht mit meinem Gerät gepaart war, und er sah die neue Liste der Dienste mit den richtigen UUIDs. Es scheint also ein Cacheproblem mit meinem Entwicklungs-Mac zu sein.Wie kann ich den CoreBluetooth-Cache auf MacOS löschen?

Ich fand die com.apple.Bluetooth.plist Datei in/Library/Preferences und löschte es, aber das System legte es mit den gleichen Daten zurück, nehme an, das System hat den Cache in den Speicher geladen und schreibt es gerade wenn nötig wieder raus.

Kann jemand den MacOS CoreBluetooth Gerät/Service-Cache löschen?

Antwort

31

Ich habe schließlich die Ursache des Problems gefunden - es gibt einen Cache im Ordner Benutzervorgaben in einem Ordner mit dem Namen ByHost. Hier sind die Schritte, um den Bluetooth-Cache zu löschen:

  • Schalten Sie Bluetooth
  • Löschen com.apple.Bluetooth.plist aus /Library/Preferences
  • Dateien mit dem Namen Löschen com.apple.Bluetooth.somehexuuidstuff .plist von ~/Library/Preferences/ByHost (beachten Sie, dass dies die Präferenz Ordner Benutzer, nicht das System ein)
  • Schalten Sie Bluetooth

Danach werden die Dienste meiner Peripheriegeräte korrekt identifiziert. Von dem, was ich im Internet gefunden habe, kann es auch einige andere com.apple.Bluetooth-Dateien in/Library/Preferences geben, die mit HIDs oder Headsets zusammenhängen oder etwas - ich weiß nicht, ob es wichtig ist, diese zu löschen, wie ich es nicht getan habe habe sie auf meinem System.

+0

Ich habe dieses Problem oft auf meinen Geräten erlebt. Für iOS (nicht OSX) habe ich festgestellt, dass es unter iOS 80-90% der Zeit reicht, das BT einfach aus- und einzuschalten, um die Caching-Probleme zu beseitigen. Die anderen 10-20%, ich einen Neustart des Geräts, und es funktioniert. – SJoshi

+0

Bei jedem Update von El Capitan 10.11.x musste ich die "ByHost" -Plist-Dateien löschen, damit Bluetooth wieder funktioniert, aber ich muss erst neu starten. – doublesharp

+0

Versuchte dies mit Sierra und wenn ich Bluetooth wieder einschalte, sind die 19950 Elemente in CoreBluetoothCache immer noch in der neu erstellten com.apple.Bluetooth.plist – Neth