- Ensure you have Xcode installed and access to an Apple Developer Account.
In the project root, run:
pnpm run yalc:add
pnpm install cp app.json.example app.jsonReplace the following placeholder with your configs
- ${YOUR_BUNDLE_IDENTIFIER}
- ${PACKAGE_NAME}
If you don't want to test passkeys remove the associatedDomains and intentFilters.
Add the EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY to the .env.
pnpm expo prebuild --clean pnpm run iosOr
pnpm run androidIf you get the following error Error: TreeFS: Could not add directory node_modules,
terminate the ios or android emulator and run again npm i
- Log into your Clerk Dashboard, open the Native applications, and, for testing purposes, consider using a development instance.
- Set up your Associated Domains. To do this, you'll need:
- An Apple Developer account
- Your App ID Prefix and Bundle ID, available at Apple's Developer portal
- In
app.json, replace theassociatedDomainsentry with the front-end API domain provided by Clerk (e.g.,coyote-6.clerk.accounts.dev). - Also update the
bundleIdentifierinapp.jsonto match your Bundle ID from the Apple Developer portal.
- Go to your Clerk Dashboard and enable Passkeys in the Email, Phone, Username settings.
- Create a user in the Users tab on the dashboard, using email and password as the authentication attributes.
- Open the app on your device or simulator, sign in with the user you just created.
- After signing in, select the option to Create a Passkey and follow the prompts to register your passkey.
- Sign out, and on the login screen, choose the Sign in with Passkey option to test the feature.