betaGroups property

List<BetaGroupEntry>? betaGroups
final

The TestFlight groups this build is attached to, or null when the read did not ask.

Null and [] are different answers, and a consumer that treats them alike reports the wrong one confidently. [] is Apple saying the build is attached to no group; null is this package not having sent include=betaGroups, which every read before schema 2 did. The second renders as no external testers have this — true most of the time, which is exactly why it goes unnoticed when it is not.

Internal and external groups are both here and are told apart by BetaGroupEntry.kind, never by counting or by name.

A lower bound rather than the list when unresolvedBetaGroups is not zero. Every group here is one Apple named and sent; read that field before treating [] as attached to nothing.

Implementation

final List<BetaGroupEntry>? betaGroups;