我正在開發藍牙LE設備,並且因爲MacOS的服務緩存而遇到麻煩。如果我嘗試在我正在開發的設備上刪除服務或更改其UUID,則更改不會顯示在Mac上,而是繼續從設備中看到舊的服務和UUID列表。我試着去找另一臺沒有與我的設備配對的Mac電腦,它看到了正確的UUID的新服務列表,所以它似乎是我Mac開發中的一個緩存問題。如何清除MacOS上的CoreBluetooth緩存?
我在/ Library/Preferences中找到了com.apple.Bluetooth.plist文件並將其刪除,但系統把它放回了相同的數據,我推測系統已將緩存加載到內存中,並且正在寫入它需要時退出。
有誰知道如何擦拭MacOS CoreBluetooth設備/服務緩存?
我在我的設備上遇到過很多這個問題。對於iOS(而不是OSX),我發現在iOS上,只需80-90%的時間就可以簡單地關閉BT並消除緩存問題。其他10-20%,我做一個設備重新啓動,它的工作原理。 – SJoshi
對El Capitan 10.11.x的每次更新都要求我刪除「ByHost」plist文件以使藍牙再次工作,但我必須先重新啓動。 – doublesharp
嘗試過Sierra,當我重新打開藍牙時,CoreBluetoothCache中的19950項目仍然在新創建的com.apple.Bluetooth.plist中 – Neth