Apple Developer Console setup
App Attest is an Apple capability. Before Xcode can sign a build that uses it, the capability has to be enabled on your app’s identifier in the Apple Developer portal.
You do this once per app identifier. It takes about a minute.
Prerequisites
- Apple Developer Program membership (paid).
- Admin or App Manager role on the team that owns the app identifier.
- Your app’s bundle identifier, for example
com.yourcompany.yourapp.
Steps
- Go to https://developer.apple.com/account.
- Sign in. Pick the correct team from the top-right team switcher if you belong to more than one.
- Click Certificates, Identifiers & Profiles.
- In the left sidebar, click Identifiers.
- In the identifier list, find your app’s bundle identifier. If it’s not there yet, click the + button and register it now. Pick App IDs → App, then enter Description and Bundle ID.
- Click the identifier to open it.
- Scroll down to Capabilities. (Some Apple UIs call this section App Services.) The capabilities are a long checkbox list, alphabetical.
- Find App Attest in the list. Check it.
- Click Save at the top right.
- Apple may show a confirmation dialog saying provisioning profiles using this identifier will need to be regenerated. For App Attest specifically, Xcode handles this on the next build. Click Confirm.
You’re done with the console.
Verifying
Back in the identifier detail page, App Attest should now show a green dot next to it. If it doesn’t, hard-refresh the page.
Common questions
Do I need to regenerate provisioning profiles?
In most cases, no. Xcode’s automatic signing picks up the change the next time you build. If you use manual provisioning, download a fresh profile from the Profiles tab after saving the capability.
Does enabling App Attest cost anything on Apple’s side?
No. App Attest is a no-cost Apple capability included with the Developer Program. The usage limits that matter are described in Apple’s DeviceCheck documentation — they are high enough that a typical app will not hit them.
Can I test App Attest on a simulator?
No. App Attest requires Apple to sign an attestation using hardware-backed keys, which only real devices can produce. In development, the SDK ships two debug modes for simulator builds — setDebugMode(.sandbox) for real network without Apple attestation, or .local(stubs: [...]) for fully offline work. Both are #if DEBUG-gated and physically absent from Release builds. See Xcode setup.
What if my team has multiple identifiers for the same app?
Enable App Attest on every identifier that might run the app binary: the main app ID, any app-extension IDs that call AppAttest, and any wildcard IDs you sign with. Extensions do not typically need it unless they call AppAttest directly.
What’s next
- Xcode setup — add the capability to your project and entitlements.
- Entitlements reference — what the Xcode step writes to disk.