Я хотел бы изменить обои всех рабочих столов (ранее "пробелы") на экране.Начиная с OS X 10.6 есть категория для NSWorkspace, которая позволяет устанавливать обои, однако, когда я использую эту функцию, меняются только обои текущего рабочего стола, а все другие рабочие столы остаются неизменными.
Iзатем посмотрел на список параметров рабочего стола и написал класс, который модифицирует его, чтобы отразить изменения, которые я хочу (в основном, установить новый путь к файлу изображения).После того, как новый файл был сохранен, я отправил com.apple.desktop уведомление «BackgroundChanged» - Google, если вы не знаете, о чем я говорю, именно так люди меняли обои за 10.6 дней.Сначала это не дало никаких результатов, поэтому вместо «nil» в качестве словаря userInfo я отправил точно такой же словарь userInfo, как Apple, когда вы меняете обои в настройках (подпишитесь на уведомление в приложении и измените обои).в настройках приложения вы увидите как это выглядит).Удача помогла мне в этом, когда я отправил уведомление таким образом по какой-то причине, разбился док-станция, и когда он перезагрузился, он загрузил настройки из файла настроек, таким образом отображая мои изменения., Я бы а) скорее не испытал бы неприятных ощущений от сбоя и перезагрузки док-станции, и б) использовал бы путь, который более или менее гарантированно будет работать и в будущих версиях.Использование ошибки не похоже на стабильный путь.
Есть еще идеи о том, как изменить обои на всех рабочих столах?Я также не уверен, нацелено ли текущее поведение категории обоев NSWorkspace или является ошибкой, однако, судя по поведению панели настроек обоев, кажется, что первое относится к делу.