Without any extra setup, pairing is per-device, per-app: if your team ships three apps, a
reviewer’s device needs three separate “Review on this device” pairings, one per app.
Team-wide pairing removes that repetition — pair once on a device, and it covers every app
your team ships that’s signed by the same Apple team.
This is entirely optional. Skip it and the SDK works exactly as described in the
quickstart — nothing about baseline integration changes.
Set it up
Open Signing & Capabilities in Xcode
Select your app target, then the Signing & Capabilities tab.
Add Keychain Sharing
Click + Capability and add Keychain Sharing.
Add this access group
Add the group below to every app your team wants to share pairing across. You supply the
fully-qualified string yourself — Xcode doesn’t always resolve
$(AppIdentifierPrefix) for you in the capability editor, so double-check the resolved
value in your build settings if pairing doesn’t end up shared.
If an app doesn’t have this entitlement, the SDK silently falls back to a private,
app-only keychain store. Nothing breaks — you just don’t get cross-app sharing for that
app.
What sharing actually shares
The shared item is a pairing credential — proof that “this device belongs to this
reviewer” — not a working session. Each app still exchanges that credential for its own
session the first time it sees it, the same activation step every app goes through
normally; team-wide pairing just means the device doesn’t need a fresh QR scan to produce
that credential for every app.
Authorization stays per-app and per-org. Sharing a pairing credential across apps signed by
the same Apple team never grants access to an app that belongs to a different Tappify org
— the backend still checks org ownership independently for every app. Same signing team
does not mean same Tappify organization, which matters in particular for agencies signing
multiple clients’ apps under one team: pairing a device to one client’s app never leaks
visibility into another client’s app, even if both are signed by the same team.
Revoking a device (from any one of the apps it’s paired to) revokes its shared credential
too, which ends its session on every app that used it — see
Activating devices.