Erhalte das aktuelle Hintergrundbild in Cocoa

8

Ich verwende diesen Code, um das aktuelle Hintergrundbild zu erhalten:

%Vor%

Das funktioniert gut, aber wenn ich einen Ordner mit Bildern als Hintergrundbild anlege (wie im Bild gezeigt), ist imageURL ein Verzeichnis. Wie kann ich also die USURL des aktuellen Hintergrunds in dieser Situation bekommen?

    
user615816 31.12.2012, 08:33
quelle

2 Antworten

3

Ich habe versucht, genau dasselbe zu tun. Sie können die aktuelle Desktopbild-URL wie folgt abrufen:

  1. Abrufen der aktuellen Bereichs-UUID aus der Eigenschaftsliste com.apple.spaces
  2. Suchen Sie in der com.apple.desktop-Eigenschaftsliste nach dem passenden Leerzeichen,
  3. Extrahieren der URL aus der LastName-Eigenschaft

Ich arbeite immer noch daran, aber der folgende Code erhält die richtige URL ... manchmal. Das Hauptproblem besteht darin, dass die Eigenschaftslisten nicht häufig genug aktualisiert werden und ich nicht in der Lage war, sie zum Aktualisieren zu zwingen (kurz vor dem Beenden des Docks). Lass es mich wissen, wenn du etwas herausgefunden hast!

%Vor%     
Daniel Vogelnest 03.03.2013, 02:17
quelle
2

Es gibt eine andere Möglichkeit, das Bild zu erhalten, indem Sie einen Screenshot des aktuellen Hintergrundbildes machen.

%Vor%

Dieser Ansatz sieht viel einfacher aus IMHO, wenn Sie das Bild brauchen, nicht die URL.

Beachten Sie, dass im com.apple.dektop plist kein Hintergrundbild mehr definiert ist: Ausgehend von Mavericks wird die Einstellung in ~ / Library / Application Support / Dock / desktoppicture.db verschoben. Dies ist SQLite-Datei und die Tabelle "data" enthält die URL.

    
Alexey Kvasov 03.10.2015 01:38
quelle

Tags und Links