2014-07-09 10 views
5

nostra applicazione è stata respinta da App, il motivo è:Rifiuto: "2.23: Apps devono seguire le Istruzioni per la conservazione dei dati iOS", noi non abbiamo i dati salvati nella cartella Documenti

2,23

Abbiamo riscontrato che l'app non segue le linee guida per l'archiviazione dei dati iOS , che è richiesta dalle Linee guida per la revisione di App Store.

In particolare, abbiamo rilevato che all'avvio e/o al download dei contenuti, l'app memorizza oltre 2 MB di dati. Per controllare la quantità di dati la vostra applicazione è la memorizzazione:

  • Installare e avviare la vostra applicazione
  • Vai in Impostazioni> iCloud> bagagli & archiviazione dati> Gestisci archiviazione
  • Se necessario, toccare "Mostra tutte le applicazioni"
  • Controllare la memoria della app

le Istruzioni per la conservazione dei dati iOS indicano che solo il contenuto che l'utente crea utilizzando la vostra applicazione, ad esempio, i documenti, i nuovi file, modifica, e tc., dovrebbe essere eseguito il backup da iCloud.

I file temporanei utilizzati dall'app devono essere memorizzati solo nella directory/tmp ; ricorda di cancellare i file memorizzati in questa posizione quando l'utente esce dall'app.

Dati che possono essere ricreati, ma deve persistere per il corretto funzionamento del vostra applicazione - o perché i clienti si aspettano che sia disponibile per l'uso offline - deve essere contrassegnato con l'attributo "non eseguire il backup". Per gli oggetti NSURL , aggiungere l'attributo NSURLIsExcludedFromBackupKey per impedire il backup del file corrispondente corrispondente. Per oggetti CFURLRef, utilizzare l'attributo kCFURLIsExcludedFromBackupKey corrispondente .

Per ulteriori informazioni, consultare il Technical Q & A 1719: Come impedire ai file di eseguire il backup su iCloud e iTunes ?.

È necessario rivedere l'app per soddisfare i requisiti delle linee guida per lo storage dei dati di iOS . Per le domande a livello di codice discrete, è possibile contattare con il supporto tecnico degli sviluppatori Apple.Quando l'ingegnere DTS segue con voi, si prega di essere pronti a fornire:

  • dettagli completi del problema rifiuto (s)
  • screenshot
  • passaggi per riprodurre il problema (s)
  • symbolicated resoconti di blocco - se i risultati problema in un incidente il login

in caso di difficoltà che riproduce un problema segnalato, per favore prova testare il flusso di lavoro, come descritto nella https://developer.apple.com/library/ios/qa/qa1764/ Tecnico Q & A QA1764: come riprodurre un arresto anomalo o un bug rilevato da App Review o dagli utenti .

Tuttavia, non ci sono dati memorizzati nella cartella/documento. I nostri dati chiave sono archiviati in Library/Application Support/bundle_id e questa directory è impostata su 'do not back up' seguita dal codice di esempio nel documento Apple che aggiunge l'attributo NSURLIsExcludedFromBackupKey alla directory.

I nostri file cache scaricati vengono inseriti nella directory/tmp e cancellati dopo l'uso. Quindi non c'è davvero nessun dato che viene eseguito il backup tramite iCloud. In realtà abbiamo testato numerose volte controllando l'archiviazione iCloud come indicato:

  • Installare e avviare la vostra applicazione
  • Vai in Impostazioni> iCloud> bagagli & archiviazione dati> Gestisci archiviazione
  • Se necessario, toccare "Mostra tutte le applicazioni"
  • Controllare la memoria della app

, eppure siamo riusciti a trovare solo 0.3KB utilizzo di iCloud per tutto il tempo. Ho appena preso un colpo di schermo del mio iPhone:

enter image description here

Essa mostra infatti utilizzato solo 0.3KB (La seconda app sullo schermo).

Qualche idea, cos'altro può causare questo rifiuto? Crediamo che questo sia un errore del team di revisione Apple, se esiste un modo per contattare telefonicamente il team di revisione Apple?

+1

È possibile fare appello al rifiuto. Avrai un'opzione per raggiungerli da iTunes Connect. La mia app è stata respinta e ho fatto appello. –

+0

Sai se potrei comunque contattare telefonicamente il team di revisione Apple? – yaoxao

+0

Sembra che se non salviamo i dati nella cartella Documenti, non dovrebbe causare tale rifiuto, giusto? – yaoxao

risposta

1

Solo perché la directory Documenti è vuota e si sta impostando il flag di non backup sulla directory in Application Support non significa che non ci sia nient'altro di cui si possa eseguire il backup.

La Guida alla programmazione App per iOS nel capitolo Suggerimenti per le prestazioni ha una sezione in cui si afferma:

App Backup Best Practices

Non è necessario preparare la vostra applicazione in alcun modo per operazioni di backup e ripristino. I dispositivi con un account iCloud attivo hanno i loro dati delle app salvati su iCloud in momenti appropriati. Per i dispositivi collegati a un computer, iTunes esegue un backup incrementale dei file di dati dell'app.Tuttavia, iCloud e iTunes non eseguire il backup dei contenuti delle seguenti directory:

  • <Application_Home> /AppName.app
  • <Application_Data>/Library/Caches
  • <Application_Data>/tmp
  • quindi ci sono aree diverse dalla cartella Documenti di cui è possibile eseguire il backup. Forse hai un altro file in agguato da qualche parte in Libreria o Application Support?