Welcome to the ARCore SDK for iOS

Build and scale AR experiences for everyone

The ARCore SDK for iOS provides Cloud Anchor capabilities, letting you create AR experiences that Android and iOS users can share.

With the ARCore SDK for iOS, you can build ARKit apps targeting iOS devices that are also supported by ARCore.

How Cloud Anchors work

The ARCore SDK for iOS interfaces with ARKit, letting you make ARKit and ARCore anchors available to iOS and Android devices in the same environment.

Users in the same environment can add the Cloud Anchors to the AR scene that they see on their device.

Your app can render 3D objects attached to the Cloud Anchors, letting users see and interact with the objects simultaneously.

To make these shared AR experiences possible, the ARCore SDK uses Google servers to host and resolve anchors.

Hosting anchors

Hosting an ARCore or ARKit anchor maps the anchor in a common coordinate system for a given physical space.

When you host an anchor, ARCore sends relevant visual mapping data from a user's environment to Google servers.

Once this data is uploaded, it is processed into a sparse point map, similar to an ARCore point cloud.

Resolving anchors

Resolving Cloud Anchors lets Android and iOS devices in a given physical space add previously hosted anchors to their scene.

A Cloud Anchor resolve request sends visual feature descriptions from the current frame to the server. The server attempts to match the visual features to the sparse point map, in order to situate resolved anchors consistently in the scene that each user sees on their device.

Data storage and access limitations

Cloud anchors have the following data storage and access limitations:

  • Cloud anchors can be resolved for twenty-four hours after they are hosted.

  • Raw visual mapping data uploaded to the cloud when hosting an anchor is discarded after seven days.

  • Anchors are resolved on the server side against the stored sparse point map.

    • The sparse point map can be used for Cloud Anchor resolution requests for one day after it is generated.
    • Previously uploaded mapping data is never sent to a user's device.
  • It is not possible to determine a user's geographic location or to reconstruct any images or the user's physical environment from the sparse point map.

  • Visual feature descriptions from a request to resolve an anchor are never stored.

Get started

To start working with the ARCore SDK for iOS, see: