# App Store Connect: cosa è stato fatto

App «Faraway Score», ID Apple `6815283632`, bundle `it.duebytes.farawayscore`,
team `686XK96PF6` (Paolo Alberti), SKU `faraway-score`, lingua italiano.

## 2026-09-23

- **Identificativo** registrato nel portale sviluppatori («Faraway Score»,
  esplicito, nessuna capacità). L'archivio firmato non lo registrava da solo.
- **Build 1 (1.0)** caricata da terminale, dal clone locale
  (`xcodebuild archive` + `-exportArchive` con `ios/App/ExportOptions.plist`).
  Contiene la PWA come era a v100: mancano le correzioni di v101-v103.
- **TestFlight**:
  - informazioni per i test in italiano (descrizione, email
    paolo.alberti@duebytes.it, sito, informativa privacy), contatti e note per
    il revisore in inglese, nessun accesso necessario;
  - gruppo interno «Interni» con Paolo, distribuzione automatica;
  - gruppo esterno «Beta tester» con la build 1 **inviata alla verifica beta**
    e il link pubblico https://testflight.apple.com/join/PJDPsP7u (aperto a
    tutti, senza limite). Il link funziona da quando Apple approva.
- **Versione 1.0** (scheda, non inviata): le 6 slide di `carosello/ios/` nel
  riquadro 6,9", descrizione e parole chiave da `scheda.md`, assistenza
  https://www.duebytes.it, sito https://faraway-segnapunti.vercel.app,
  copyright «2026 Paolo Alberti», contatti e note per il revisore, **allegato
  il PDF dell'autorizzazione di Catch Up**, rilascio manuale. Salvata.

## Trappole viste

- Il riquadro screenshot mostrato di default è il 6,5": le slide 1320×2868 le
  rifiuta. Vanno in Gestione risorse multimediali → Display da 6,9".
- Caricando più file insieme l'ordine si rovescia, e trascinarli per
  riordinare non ha funzionato: meglio uno alla volta, nell'ordine.
- Togliere la spunta «Accesso necessario» svuota i contatti del revisore:
  ricompilarli dopo, e controllare prima di salvare.

## 2026-09-24

- **Build 2 (1.0)** caricata: la PWA a v103 (popup "Incolla le partite" non
  piu' nascosto dietro le Impostazioni, nota delle Impostazioni su due righe,
  service worker che non mette in cache i 404). `CURRENT_PROJECT_VERSION = 2`.
- **Informazioni sull'app**: sottotitolo «Segnapunti per Faraway», categorie
  Intrattenimento + Utility, diritti sui contenuti «Si', dispone dei diritti
  necessari per i contenuti di terze parti». Salvate.
- **Eta'**: questionario tutto «No» / «Nessuno», classificazione **4+**.
- **Privacy dell'app**: informativa
  https://faraway-segnapunti.vercel.app/privacy.html, **«Dati non raccolti»**,
  risposte pubblicate (le ha confermate Paolo: e' una dichiarazione a suo nome).

Nota: oggi la sessione di App Store Connect nel Chrome di Paolo era scaduta,
il login lo fa lui. E l'estensione di Chrome perdeva le tab appena si apriva
una pagina: se una pagina resta bianca o bloccata, riaprirla in una tab nuova.

## 2026-09-24, pomeriggio

- **Prezzi e disponibilita'**: paese base Italia, prezzo 0,00 EUR ovunque;
  disponibile in 174 paesi, tolta la **Cina continentale** (li' Apple chiede
  la registrazione ICP, che non abbiamo). Mac con Apple Silicon lasciato attivo.
- **Versione 1.0**: collegata la **build 2**. Descrizione, parole chiave, URL
  e copyright del 23/09 risultavano vuoti: reinseriti e verificati ricaricando
  la pagina. La slide 4 (Meteore) non era mai stata elaborata: tolte 4, 5, 6 e
  ricaricate una alla volta, ora sono 6 in ordine.
- **Beta esterna**: build 1 approvata da Apple (link pubblico attivo, prime
  installazioni). Build 2 aggiunta al gruppo «Beta tester» con le note per i
  tester, approvata subito.
- Pagina https://www.duebytes.it/beta/ **online**: iPhone «In prova» con il
  link di TestFlight, icona in `faraway/icona.png` (chmod fatti, 200 tutte e
  due). FTP con lftp, un solo login, autorizzato da Paolo.
- **Solo verticale ovunque**: su iPad tolti gli orizzontali (resta Portrait e
  PortraitUpsideDown) con `UIRequiresFullScreen`, che altrimenti Apple rifiuta
  un'app iPad che non gira in tutte e quattro le direzioni; su Android la
  proprieta' `PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY`, perche' Android 16
  con targetSdk 36 ignora `screenOrientation` sui tablet. Servono le build 3.

Trappola: la pagina della versione popola i campi dopo alcuni secondi; prima
di dire che un campo e' vuoto, aspettare e rileggere. E i menu a tendina di
App Store Connect (paese, prezzo) ignorano il clic sulla voce filtrata: si
sceglie con un click() via JavaScript sul pulsante della voce.

**Build 3** (solo verticale su iPad, `UIRequiresFullScreen`) caricata e
accettata da Apple senza avvisi: collegata alla versione 1.0 al posto della 2
e inviata alla verifica beta del gruppo «Beta tester».

Descrizione beta di TestFlight: «niente rete» diventato «niente internet».

Normativa sui servizi digitali (UE): resta **«operatore commerciale»**. Lo
stato vale per l'account, e QuantoBasta (gratis con acquisti in-app) lo
richiede. Nella scheda europea compaiono i contatti di Paolo. Faraway Score
resta comunque a guadagno zero.

**Build 4, solo iPhone** (`TARGETED_DEVICE_FAMILY = 1`): con l'iPad Apple
chiedeva gli screenshot da 13", e il design per tablet non c'e' ancora. Su
iPad l'app si installa lo stesso, in modalita' iPhone. Il primo caricamento
e' fallito con «No Accounts with App Store Connect Access» (sessione di Xcode:
Paolo ha controllato Settings > Accounts, poi e' andato).

**1.0 inviata ad Apple per la verifica** il 24/09/2026 con la build 4, per
decisione di Paolo. Stato: «In attesa di verifica».

**Dopo l'invio (24/09 pomeriggio)**, per la 1.0.1 (Paolo ha scelto di lasciare
la 1.0 in revisione con la build 4):
- v104: indietro vero. Le schermate passano dalla cronologia a livelli, lo
  swipe dal bordo su iOS (`allowsBackForwardNavigationGestures` in
  `FarawayViewController`, SceneDelegate.swift) e il tasto indietro di Android
  (`OnBackPressedCallback` in MainActivity) tornano alla schermata prima.
- v105: una x chiude il riquadro viola della home (ricordato in localStorage).
- Build 5 (solo v104) e **build 6 (v105)** caricate; la 6 è nel gruppo «Beta
  tester», approvata subito. PWA v105 pubblicata su Vercel.
- AAB Android `versionCode 3` (v105) sul Desktop, da caricare dopo
  l'approvazione del test chiuso.

## 2026-09-25

- **1.0 approvata da Apple** e **rilasciata** da Paolo: stato «Pronta per la
  distribuzione», 174 paesi (senza Cina continentale), build 4. Nello store
  compare dopo qualche ora.
- **1.0.1 inviata ad Apple** con la **build 7** (v105, `MARKETING_VERSION
  1.0.1`), rilascio manuale. Stato «In attesa di verifica». Novità: swipe
  indietro e x sul riquadro viola. Nelle note per il revisore il PDF di Catch
  Up è citato come «allegato alla 1.0, rimandabile su richiesta»: non si
  ricarica a ogni versione.

Trappola: una build è legata al numero di versione con cui è stata caricata.
La build 6 era «1.0» e, rilasciata la 1.0, non si poteva più collegare alla
1.0.1: per ogni nuova versione dello store si alza `MARKETING_VERSION` prima
di compilare.

## 2026-09-26

- **1.0.1 approvata** da Apple e **rilasciata** subito: «Pronta per la
  distribuzione». Regola di Paolo: quando Apple approva, si rilascia. Nelle
  prossime versioni scegliere «Rilascia automaticamente questa versione».
- La 1.0 risulta nell'App Store degli Stati Uniti (`itunes.apple.com/lookup`),
  in Italia non ancora: la diffusione nei paesi richiede tempo.
- **Build 7** aggiunta al gruppo esterno «Beta tester» con le note per i
  tester, inviata alla verifica beta. Regola di Paolo: ogni build caricata va
  subito anche ai tester esterni, non solo agli Interni.

- **Versione 1.0.2 inviata ad Apple** (rilascio automatico) con la **build 8**
  (PWA v106, tedesco corretto): schede in en-US, en-GB, en-AU, en-CA, fr-FR,
  fr-CA, es-ES, es-MX, de-DE (descrizione, parole chiave, novità, sottotitolo)
  e le 6 slide tradotte in ognuna (Gestione risorse multimediali → 6,9";
  il 6,5" usa da solo quelle della stessa lingua). Build 8 anche ai tester
  esterni. Slide e schermate: `docs/store/schermate/genera-schermate.js` e
  `docs/store/carosello/genera.sh en fr es de`.

Trappole della giornata:
- Una lingua senza slide proprie mostra quelle della lingua principale
  (italiano): per metterle, nel riquadro 6,9" della lingua «Modifica».
- Il menu delle lingue usa spazi non separabili nei nomi («Spagnolo (Spagna)»):
  chi lo cerca da script deve normalizzare gli spazi.

- **L'app non è in vendita nei 27 paesi UE**: in Prezzi e disponibilità →
  Gestisci risultano «Non vendibile», motivo «Stato di operatore commerciale
  non fornito». Eppure in Informazioni sull'app → Normativa sui servizi
  digitali c'è «operatore commerciale». Si trova negli USA e nel Regno Unito,
  non in Italia, Francia, Germania. Da ricontrollare quando Apple approva la
  1.0.2 (inviata dopo la dichiarazione); se resta così, scrivere ad Apple.
  **Causa trovata il 28/09**: in Azienda → Conformità la «Normativa sui
  servizi digitali» è in «Verifica in corso» dal 23/09 (è Apple che verifica i
  dati di operatore commerciale). La 1.0.2 è pubblicata ma l'UE resta non
  vendibile finché la verifica non finisce. Se a inizio ottobre è ancora così,
  Paolo scrive all'assistenza Apple.

## 2026-09-28

- 1.0.2 approvata e rilasciata da sola (rilascio automatico).
- **Banner di iOS 27** pronti (`docs/store/grafica/intestazione.html`,
  `genera.sh`): intestazione, ricerca e formato unico in 5 lingue, schema
  comune alle app di Paolo (vedi `comune/carosello/LEGGIMI.md`). In App Store
  Connect la sezione per caricarli non c'è ancora (né nella versione né in
  Gestione risorse multimediali): si caricano con la prossima versione, o
  appena compare.
- Slide da aggiornare alla prossima versione: italiano 1 e 4 («li conta
  l'app», «Ci pensa l'app»), francese 4 («L'appli s'en charge»), e i tasti
  dell'iPhone nella cornice.

## Da fare

- **iPhone pieghevole e tablet in verticale**: valutare il design quando esce
  l'SDK nuovo. Con targetSdk 37 la proprieta' Android non varra' piu'.
