How do you change the desktop picture in cocoa/objective-c? I've tried using defaults but had many errors.
NSArray *args=[NSArray arrayWithObjects:@"write",@"com.apple.desktop", @"Background", @"'{default = {ImageFilePath = \"~/desktop.jpg\";};}'", nil];
NSTask *deskTask=[[NSTask alloc] init];
[deskTask setArguments: args];
[deskTask setLaunchPath:@"/usr/bin/defaults"];
[deskTask launch];
[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"com.apple.desktop" object:@"BackgroundChanged"];
The command works successfully in terminal. I don't need anyone to tell me exactly what to do but I would like some insight.
EDIT: My OS is 10.4.11