我有一个应用程序可以根据用户指定的文件更改用户的桌面背景。
它在10.4和10.5中运行良好,但Apple似乎更改了一些系统通知,这意味着我编写的代码不再有效。
我想知道是否有人见过任何例子,或者是否已经找到了改变图像的方法? 它们似乎仍然使用com.apple.desktop属性列表,但文件更改的通知似乎不再起作用。
我使用使用此命令通知操作系统新的背景:
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"com.apple.desktop" object:@"BackgroundChanged"];
有什么想法吗?
答案 0 :(得分:7)
您使用的是未记录的API。毫不奇怪它停止了工作......
10.6在NSWorkspace
上有新的公共API。特别是-setDesktopImageURL:forScreen:options:error:
方法。
答案 1 :(得分:1)
您也可以调用Applescript来更改壁纸图片。
tell application "Finder"
set image_file to POSIX file "/Users/user/Pictures/wall.jpg"
set desktop picture to image_file
end tell
您可以使用NSAppleScript对象通过Cocoa应用程序调用Applescript。