Как я могу очистить кеш CoreBluetooth на MacOS?
Я разрабатываю устройство Bluetooth LE, и у меня возникают проблемы из-за кэширования MacOS служб. Если я попытаюсь удалить сервис или изменить его UUID на устройстве, которое я разрабатываю, изменение не отображается на Mac, и вместо этого я продолжаю видеть старый список служб и UUID с устройства. Я попытался перейти на другой Mac, который не был сопряжен с моим устройством, и он увидел новый список сервисов с правильными UUID, поэтому он, похоже, является проблемой кэширования с моей разработкой Mac.
Я нашел файл com.apple.Bluetooth.plist в /Library/Preferences и удалил его, но система вернула его с теми же данными, я полагаю, что система загружает кеш в память и просто записывает ее обратно при необходимости.
Кто-нибудь знает, как стереть кэш-память устройства/службы MacOS CoreBluetooth?
Ответы
Ответ 1
Наконец-то я нашел источник проблемы - есть кеш в папке предпочтений пользователя в папке с именем ByHost. Ниже приведены шаги по очистке кеша Bluetooth:
- Отключить Bluetooth
- Удалить com.apple.Bluetooth.plist из
/Library/Preferences
- Удалить файлы с именем
com.apple.Bluetooth.somehexuuidstuff.plist от
~/Library/Preferences/ByHost (обратите внимание, что это предпочтение пользователя
папка, а не системная).
- Включить Bluetooth
После этого мои периферийные службы будут правильно идентифицированы. Из того, что я нашел в Интернете, могут быть и другие файлы com.apple.Bluetooth в /Library/Preferences, связанные с HID или гарнитурами или что-то в этом роде - я не знаю, важно ли это удалить, поскольку я не имейте их в моей системе.