2014-09-18 17 views
6

Nell'ambiente di produzione se un utente effettua un acquisto in app e successivamente aggiorna a una versione più recente di un'app è la ricevuta che riflette l'acquisto in app ancora presente nel pacchetto? o viene spazzato via dall'aggiornamento dell'app?La ricevuta in [NSBundle appStoreReceiptURL] è ancora presente dopo un aggiornamento dell'app

+0

Perché è importante? Presumibilmente la ricevuta potrebbe essere cancellata in determinate circostanze, quindi la tua app deve scaricare una nuova copia se non ce n'è una. Che problema hai? – rmaddy

+0

Nessun problema specifico, ero interessato a sapere se è generalmente persistente o se devo richiederne uno nuovo sempre – techsMex

+0

Dovresti sempre richiederne uno nuovo se non ce n'è uno. Non importa perché o quando è scomparso. Il modo in cui gestisci l'impossibilità di ottenere una nuova ricevuta è tutta un'altra questione. – rmaddy

risposta

0

Ok quindi penso di aver finalmente trovato una risposta a questa domanda.

Una ricevuta è destinata ad essere un record di fiducia di un acquisto, insieme a eventuali acquisti in-app che l'utente ha fatto - molto simile a una carta ricevuta che si ottiene quando lo shopping in un negozio. Ecco alcuni punti chiave sulle entrate:

  • Una ricevuta viene creata e firmata da Apple tramite l'App Store.
  • Una ricevuta viene rilasciata per una versione specifica di un'applicazione e di un dispositivo specifico.
  • Una ricevuta viene memorizzata localmente sul dispositivo.
  • Una ricevuta viene emessa ogni volta che si verifica un'installazione o un aggiornamento .

  • Quando un'applicazione viene installata, viene ricevuta una ricevuta che corrisponde all'applicazione e al dispositivo.

  • Quando un'applicazione viene aggiornata, viene emessa una ricevuta corrispondente alla nuova versione dell'applicazione.

  • una ricevuta viene emesso ogni volta che si verifica una transazione:

  • Quando si verifica un acquisto in-app, una ricevuta viene rilasciata in modo che possa essere letta per verificare che l'acquisto.
  • Quando le transazioni precedenti vengono ripristinate, viene emessa una ricevuta in modo che sia possibile accedervi per verificare tali acquisti.

Provenienti da https://www.objc.io/issues/17-security/receipt-validation/

Quindi, se si aggiorna un app che ha acquisto la storia sulla ricevuta, questa cronologia degli acquisti dovrebbero essere inclusi nel nuovo ricevuta che viene rilasciata per la nuova versione dell'app. (A meno che non fosse consumabile).