---
title: "fetchLongLivedOperation(withID:completionHandler:)"
framework: cloudkit
role: symbol
role_heading: Instance Method
path: "cloudkit/ckcontainer/fetchlonglivedoperation(withid:completionhandler:)"
---

# fetchLongLivedOperation(withID:completionHandler:)

Fetches the long-lived operation for the specified operation ID.

## Declaration

```swift
@preconcurrency func fetchLongLivedOperation(withID operationID: CKOperation.ID, completionHandler: @escaping @Sendable (CKOperation?, (any Error)?) -> Void)
```

## Parameters

- `operationID`: The operation’s ID.
- `completionHandler`: The closure to execute with the fetch results.

## Discussion

Discussion The closure doesn’t return a value and takes the following parameters: The long-lived operation. If the operation completes, or your app or the system cancels it, this parameter is nil. An error if a problem occurs, or nil if CloudKit successfully retrieves the operation. A long-lived operation is one that continues to run after the user closes your app. When a long-lived operation completes, the system calls its completion block to notify you. After setting callback blocks on the returned long-lived operation, and starting the returned long-lived operation on an operation queue, the operation invokes all callbacks made while your app was closed.

## See Also

### Fetching Long-Lived Operations

- [fetchAllLongLivedOperationIDs(completionHandler:)](cloudkit/ckcontainer/fetchalllonglivedoperationids(completionhandler:).md)
