在10.6.x中更改桌面映像

d2k*_*agw 2 cocoa objective-c

我有一个应用程序,它根据用户指定的文件更改用户的桌面背景.

它在10.4和10.5中运行良好,但Apple似乎已经改变了一些系统通知,这意味着我编写的代码不再有效.

我想知道是否有人见过任何例子,或者已经找到了如何改变图像的方法?它们似乎仍然使用com.apple.desktop属性列表,但文件更改的通知似乎不再起作用.

曾经使用这个命令通知操作系统新的背景:

[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"com.apple.desktop" object:@"BackgroundChanged"];
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Mik*_*lah 7

那么你使用的是未记录的API.毫不奇怪它停止了工作......

10.6上有新的公共API NSWorkspace.特别是该-setDesktopImageURL:forScreen:options:error:方法.