- 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.json
Replace 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 ios
Or
pnpm run android
If 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 theassociatedDomains
entry with the front-end API domain provided by Clerk (e.g.,coyote-6.clerk.accounts.dev
). - Also update the
bundleIdentifier
inapp.json
to 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.