<!--
{
  "availability" : [
    "iOS: 14.3.0 -",
    "iPadOS: 14.3.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARAppClipCodeAnchor",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:objc(cs)ARAppClipCodeAnchor"
  },
  "title" : "ARAppClipCodeAnchor"
}
-->

# ARAppClipCodeAnchor

An anchor that tracks the position and orientation of an App Clip Code in the physical environment.

```
class ARAppClipCodeAnchor
```

## Overview

Your App Clip gives users immediate access to critical or context-specific parts of your app’s AR experience, and makes it easy for them to download and launch your full app if they choose.

You can use physical App Clip Codes in the real world to enable users to discover your App Clip. An App Clip Code includes a unique URL and can incorporate an NFC tag. When users hold their iPhone near the code or scan it with the camera or Code Scanner in Control Center, the system offers to launch the code’s associated App Clip.

For more on App Clip Codes, see <doc://com.apple.documentation/documentation/AppClip>. For an app that reacts to App Clip Codes in AR, see <doc://com.apple.documentation/documentation/AppClip/interacting-with-app-clip-codes-in-ar>.

### Distinguish Between App Clip Codes

There may be multiple App Clip Codes visible in the camera feed that share the same [`url`](/documentation/ARKit/ARAppClipCodeAnchor/url), so ARKit also relies on the App Clip Code’s location (see [`transform`](/documentation/ARKit/ARAnchor/transform)) to distinguish different App Clip Codes in the physical environment.

When the framework recognizes an App Clip Code, it initializes an [`ARAppClipCodeAnchor`](/documentation/ARKit/ARAppClipCodeAnchor) and passes it to the session delegate via [`session(_:didAdd:)`](/documentation/ARKit/ARSessionDelegate/session(_:didAdd:)). If a recognized App Clip Code becomes obscured or is no longer visible in the camera feed, the framework sets the anchor’s [`isTracked`](/documentation/ARKit/ARTrackable/isTracked) property to <doc://com.apple.documentation/documentation/Swift/false> and passes it into the [`session(_:didUpdate:)`](/documentation/ARKit/ARSessionDelegate/session(_:didUpdate:)-3qtt8) callback. If the same App Clip Code becomes visible once again:

- ARKit sets [`isTracked`](/documentation/ARKit/ARTrackable/isTracked) to <doc://com.apple.documentation/documentation/Swift/true> if the App Clip Code maintained its relative position in the physical environment.
- ARKit intializes a new [`ARAppClipCodeAnchor`](/documentation/ARKit/ARAppClipCodeAnchor) if the App Clip Code position in the physical environment changed significantly.

### Remove App Clip Codes

To prevent App Clip Codes from accumulating in the session, ARKit removes anchors by passing them in to the [`session(_:didRemove:)`](/documentation/ARKit/ARSessionDelegate/session(_:didRemove:)) callback. ARKit removes an [`ARAppClipCodeAnchor`](/documentation/ARKit/ARAppClipCodeAnchor) if all of the following conditions are true:

- The framework instantiates a new [`ARAppClipCodeAnchor`](/documentation/ARKit/ARAppClipCodeAnchor).
- The new anchor’s [`url`](/documentation/ARKit/ARAppClipCodeAnchor/url) matches one or more existing anchors with substantially different positions in the physical environment.
- The existing anchors are untracked ([`isTracked`](/documentation/ARKit/ARTrackable/isTracked) is <doc://com.apple.documentation/documentation/Swift/false>).

## Topics

### Decoding the URL

[`url`](/documentation/ARKit/ARAppClipCodeAnchor/url)

The URL encoded in an App Clip Code.

[`urlDecodingState`](/documentation/ARKit/ARAppClipCodeAnchor/urlDecodingState-swift.property)

A state that indicates the process of decoding an App Clip Code URL.

[`ARAppClipCodeAnchor.URLDecodingState`](/documentation/ARKit/ARAppClipCodeAnchor/URLDecodingState-swift.enum)

The states in the process of decoding an App Clip code URL.

### Measuring Physical Size

[`radius`](/documentation/ARKit/ARAppClipCodeAnchor/radius)

The App Clip Code’s radius in meters.



---

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)