あなたが尋ねた質問に正確に答えるには:
[NSURL fileURLWithPath:@"wallpaper"]
ただし、次のように、NSWorkspace に渡すのと同じ URL に実際にファイルを書き込む方が理にかなっています。
NSURL *url = [NSURL fileURLWithPath:@"wallpaper"];
[imageData writeToURL:url atomically:NO];
[[NSWorkspace sharedWorkspace] setDesktopImageURL:url …];
ファイルを置くのに適した場所を選ぶことは、さらに理にかなっています。原則として (ソフトウェアの外部であっても)、何かをどこに置いたかを知っていれば、誰かに「これをどこかに置いて」と言うよりも、後でそれを見つけるのがはるかに簡単になります。そして、あなたの特定の「これをどこかに置く」は、実際には「これを現在の作業ディレクトリに置く」ことを意味します。これは、書き込みアクセス権がない場所か、ユーザーが混乱させたくない場所か、すでにその中の「wallpaper」と呼ばれるファイル (またはディレクトリ)、または…</p>
したがって、おそらく -[NSFileManager URLForDirectory:inDomain:propertyForURL:create:error:] を呼び出して NSTemporaryDirectory を取得するか、別の一時ファイル API を使用する必要があります。または、一時的な場所ではなく、アプリのキャッシュ ディレクトリに配置することもできます。あなたにとって意味があると思われるものは何でも。
また、おそらくファイルに適切な拡張子を付けたいと思うでしょう。また、imageData をどこから取得したかを知らなければ、使用可能な画像ファイルを取得できるかどうかもわかりません。しかし、それはすべて別の問題です。