<!--
{
  "availability" : [
    "macOS: 10.6.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSWorkspace/setDesktopImageURL(_:for:options:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSWorkspace(im)setDesktopImageURL:forScreen:options:error:"
  },
  "title" : "setDesktopImageURL(_:for:options:)"
}
-->

# setDesktopImageURL(_:for:options:)

Sets the desktop image for the given screen to the image at the specified URL.

```
func setDesktopImageURL(_ url: URL, for screen: NSScreen, options: [NSWorkspace.DesktopImageOptionKey : Any] = [:]) throws
```

## Parameters

`url`

A file URL to the image. The URL must not be `nil`.

`screen`

The screen on which to set the desktop image.

`options`

The options dictionary may contain any of the keys in [`NSWorkspace.DesktopImageOptionKey`](/documentation/AppKit/NSWorkspace/DesktopImageOptionKey), which control how the image is scaled on the screen.

## Discussion

Instead of presenting a user interface for picking the options, choose appropriate defaults and allow the user to adjust them in the System Preference Pane.

You must call this method from your app’s main thread.

> Handling Errors in Swift:
> In Swift, this method returns `Void` and is marked with the `throws` keyword to indicate that it throws an error in cases of failure.
> 
> You call this method in a `try` expression and handle any errors in the `catch` clauses of a `do` statement, as described in [Error Handling](https://docs.swift.org/swift-book/LanguageGuide/ErrorHandling.html) in [The Swift Programming Language](https://docs.swift.org/swift-book/) and `About Imported Cocoa Error Parameters`.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)