<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Swift",
  "identifier" : "/documentation/Distributed/DistributedActor/resolve(id:using:)",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "Distributed"
    ],
    "preciseIdentifier" : "s:11Distributed0A5ActorP7resolve2id5usingx2IDQz_0B6SystemQztKFZ"
  },
  "title" : "resolve(id:using:)"
}
-->

# resolve(id:using:)

Resolves the passed in `id` against the `system`, returning
either a local or remote actor reference.

```
static func resolve(id: Self.ID, using system: Self.ActorSystem) throws -> Self
```

## Parameters

`id`

identity uniquely identifying a, potentially remote, actor in the system

`system`

`system` which should be used to resolve the `identity`, and be associated with the returned actor

## Discussion

The system will be asked to `resolve` the identity and return either
a local instance or request a proxy to be created for this identity.

A remote distributed actor reference will forward all invocations through
the system, allowing it to take over the remote messaging with the
remote actor instance.

> Postcondition: upon successful return, the returned actor’s ``doc://com.apple.Swift/documentation/Distributed/DistributedActor/id`` and ``doc://com.apple.Swift/documentation/Distributed/DistributedActor/actorSystem-swift.property`` properties
> will be equal to the values passed as parameters to this method.

---

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)