Signing & the App Store

Three things, tied together

Every build of PawWalk that runs on a real device β€” a teammate's phone, a TestFlight tester's, an App Store customer's β€” is code-signed. Signing proves the binary came from you and hasn't been tampered with, and it's built from three pieces that all have to agree:

  • An App ID β€” the app's identity (com.pawwalk.app), registered once with Apple.
  • A certificate β€” proves who you are (a developer or your team), issued by Apple and tied to a private key only you hold.
  • A provisioning profile β€” ties the App ID and certificate together with where it's allowed to run: specific registered devices for a development profile, or "anywhere, via App Store distribution" for an App Store profile.

Xcode can manage all three for you (automatic signing, the default, and what PawWalk uses) or you can pick certificates and profiles yourself (manual signing) β€” teams with stricter release processes often want that control. Either way, the profile is the thing that answers "is this exact binary, from this exact team, allowed to run on this exact device or distribution channel?"