Я нашел это в документации.
https://developer.apple.com/documentation/safariservices/sfsafaritoolbaritem
, что позволило мне использовать переменную окна в функции toolbarItemClicked для получения ссылки на элемент панели инструментов, напримеритак.
var toolbaritemretrieved = false
window.getToolbarItem { (item) in
toolbaritem = item! as SFSafariToolbarItem;
toolbaritemretrieved = true;
}
как только у меня появилась ссылка на элемент панели инструментов, я мог затем запустить этот код и предположительно изменить изображение значка.
let path = Bundle.main.path(forResource: "newIcon", ofType: "png")!;
let icon = NSImage(path);
while(!toolbaritemretrieved){
//wait for toolbar item to be retrieved
}
toolbaritem?.setImage(icon);
SFSafariApplication.setToolbarItemsNeedUpdate();
Однако это не работает,Нет видимых ошибок, но по какой-то причине значок не отображает новое изображение.