> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# How to start the signing process for an unsigned envelope without connectivity (offline)

> Learn how to start the signing process for an unsigned cached envelope with the iOS SDK.

This topic demonstrates how to start the signing process for an unsigned cached [envelope](/docs/esign-rest-api/esign101/concepts/envelopes). This call can be made when the user’s mobile device is offline.

**Important:** This example requires that the user has a locally stored envelope. The account used for authentication must also either:

* be set as the host for an [In Person Signer](https://support.docusign.com/s/document-item?rsc_301\&bundleId=gav1643676262430\&topicId=hak1578456316043.html)  or
* have assigned [tabs](/docs/esign-rest-api/esign101/concepts/tabs) in the envelope.

## Required data

Running the code in this how-to requires this data:

| Data element                                                                            | Description                                                                                                                                                                                                                                                                                                  |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| \{ENVELOPE_ID} for a [cached envelope](/docs/mobile-sdks/ios-sdk/how-to/cache-envelope) | A [GUID](http://guid.one/) value that identifies a Docusign [envelope](/docs/esign-rest-api/esign101/concepts/envelopes). This value is automatically generated by Docusign when the envelope is created. In order to start an offline signing session, this envelope must be stored locally on your device. |

## Step 1. Log in to Docusign

To make the API call shown in this how-to, you must be logged in to Docusign.

See [How to log in to Docusign from your app](/docs/mobile-sdks/ios-sdk/how-to/log-in) for details.

## Step 2. Start offline signing process

Use the method shown to start the offline signing process. Make sure to substitute \{ENVELOPE_ID} with the envelope ID of an unsigned envelope that has already been cached on your device.

**`Objective-C`**

```text title="Objective-C"
[[[DSMEnvelopesManager alloc] init] resumeSigningEnvelopeWithPresentingController:self
    envelopeId:@"{ENVELOPE_ID}"
    completion:^(UIViewController *_Nonnull presentedController, NSError *_Nullable error) {
    if (error) {
        NSLog(@"%@", error.localizedDescription);
        return;
    }
}];
```

**`Swift`**

```swift title="Swift"
DSMEnvelopesManager().resumeSigningEnvelope(withPresenting: self,
    envelopeId: "{ENVELOPE_ID}") { (viewController, error) in
    guard error == nil else {
        print(error)
        return
    }
}
```

## Expected response

If your call is successful, you will see the [web view](https://developer.apple.com/design/human-interface-guidelines/web-views) that is returned by the [iOS SDK](/docs/mobile-sdks/ios-sdk). The offline user can sign the document, and once the device has restored connectivity, the signed envelope is ready for sync.

![iOS SDK: Offline Signing](/_fern-files/_img/e8a0003486b801c6b6959c3a7f9d6814ed438e528d27fd36fbcef9b10b75442a.webp)

## Next steps

* Learn more about our [iOS SDK](/docs/mobile-sdks/ios-sdk/ios101).
* See all available iOS SDK [How-to guides](/docs/mobile-sdks/ios-sdk/how-to).
* [Try out Native iOS SDK through our sample app](/docs/mobile-sdks/ios-sdk/sample-app).
* See [Preparing envelopes for mobile offline signing](https://support.docusign.com/s/document-item?rsc_301\&bundleId=gub1579795684748\&topicId=rxa1579795665285.html).
* See how to [Go-Live](/docs/mobile-sdks/ios-sdk/go-live) with a completed app and find the base path for API calls in the production environment.