16

デスクトップの背景を変更する小さなアプリを作成しています。ユーザーが 1 つのスペースのみを使用する場合は問題ありませんが、複数のスペースがある場合、アプリは現在アクティブなスペースでのみ機能します。

私はこのコードを使用しています

[[NSWorkspace sharedWorkspace] setDesktopImageURL:currentImageURL 
                                        forScreen:screenToChange 
                                          options:screenOptions 
                                            error:&error]

デスクトップの背景を変更するには、別のスペースの背景を変更する方法がないようです。

私は数年前から答えを見つけただけで、誰もこの特定の質問をしませんでした. Objective-Cでそれを行う方法はありますか?

4

2 に答える 2

6

スペースの背景を変更するためのパブリック API はありませんが、それを行う方法はあります。あなたが探しているキーワードはcom.apple.desktop.plist~/Library/Preferences/現在のすべてのスペースの現在の背景をすべて格納する plist です。Objective-C を使用する場合は、このファイルを好みに合わせて変更するか、ここここで提案されている解決策のいずれかを使用できます。Mavericks をターゲットにしている場合、壁紙データは次のとおりです。~/Library/Application\ Support/Dock/desktoppicture.db"

于 2013-12-30T08:36:50.653 に答える