A Development provisioning profile is what lets a build run on a developer's own iPhone, iPad, Apple Watch, Vision Pro, or Apple TV, with full debugging and signing-required entitlements like push notifications and HealthKit working. Tied to one or more Apple Development certificates and a list of registered devices.
Why you usually have a lot of them
Xcode's 'automatically manage signing' option creates a new Development profile every time it sees a developer or device it has not seen before. Teams that share an Apple Developer account end up with dozens of profiles whose names start with `iOS Team Provisioning Profile:`. Most can be regenerated into a single shared Development profile that all teammates and devices use.
When it expires
- Apple Development certificate that signed it is revoked or rotated.
- Profile passes its expiration date (typically one year).
- App ID's entitlement set changes.
- Device added to or removed from the team's device list (regeneration required to pick up the change).