games: one config section for Game Center and Play Games Services (shared leaderboards and achievements); apple game-center (gameCenterDetails, gameCenterAppVersions, leaderboards, achievements and localizations, upsert by vendor id, read back); play games (Games Configuration API upsert, no POST retry); signing ensure adds GAME_CENTER when games.gameCenter
This commit is contained in:
parent
eebb3a830b
commit
ca7289b173
8 changed files with 653 additions and 6 deletions
|
|
@ -60,8 +60,12 @@ export function validateSigning(s: AppleSigning | undefined): string[] {
|
|||
return e;
|
||||
}
|
||||
|
||||
export const capabilitySpecs = (s: AppleSigning | undefined): CapabilitySpec[] =>
|
||||
(s?.capabilities ?? []).map(c => (typeof c === 'string' ? { type: c } : c));
|
||||
/** The capabilities the App ID must have: apple.signing.capabilities, plus GAME_CENTER when games.gameCenter is true. */
|
||||
export const capabilitySpecs = (s: AppleSigning | undefined, gameCenter = false): CapabilitySpec[] => {
|
||||
const out = (s?.capabilities ?? []).map((c): CapabilitySpec => (typeof c === 'string' ? { type: c } : c));
|
||||
if (gameCenter && !out.some(c => c.type === 'GAME_CENTER')) out.push({ type: 'GAME_CENTER' });
|
||||
return out;
|
||||
};
|
||||
|
||||
/** Capabilities to add (never removes one: removing can break a shipped feature; extra ones are reported). */
|
||||
export function planCapabilities(bundleIdId: string, existing: string[], want: CapabilitySpec[]): { create: Req[]; present: string[]; extra: string[] } {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue