<!--
{
  "availability" : [
    "macOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "FSKit",
  "identifier" : "/documentation/FSKit/FSClient/mountSingleVolume(resource:bundleID:options:completionHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "FSKit"
    ],
    "preciseIdentifier" : "c:objc(cs)FSClient(im)mountSingleVolumeForResource:bundleID:options:completionHandler:"
  },
  "title" : "mountSingleVolume(resource:bundleID:options:completionHandler:)"
}
-->

# mountSingleVolume(resource:bundleID:options:completionHandler:)

Asynchronously mounts a single volume file system with a given resource.

```
func mountSingleVolume(resource: FSResource, bundleID: String, options: [String], completionHandler: @escaping @Sendable (URL?, (any Error)?) -> Void)
```

```
func mountSingleVolume(resource: FSResource, bundleID: String, options: [String]) async throws -> URL
```

## Parameters

`resource`

The resource to mount.

`bundleID`

The bundle identifier of the file system extension.

`options`

An array of strings containing the `mount_XXX` mount options

`completionHandler`

A block or closure to indicate success or failure. If mount fails, the first parameter is nil and second parameter contains an error. If mount succeeds, the first parameter contains the URL of the mount path, and second parameter is `nil`.

## Discussion

This method allows a client with the `com.apple.developer.fskit.mount` entitlement to mount a single-volume file system.
Calling this method performs the complete workflow of resource loading, volume activation, mount point creation, and actual mounting.
The system mounts the volume within the `/Volumes/` directory.

The caller can only mount modules that are visible to them.

---

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)