2012-06-22 17 views
8

probadores de Apple han sido rechazadas nuestra aplicación, debido a que viola de la directriz:NSUserDefaults provoca aplicación rechazan

[2.23 Aplicaciones debe seguir las directrices de iOS de almacenamiento de datos o serán rechazados]

Ya que tenemos almacenamos nuestros archivos de base de datos sin el NSURLIsExcludedFromBackupKey bandera - se hizo una copia de seguridad en iCloud - y causó el rechazo.

Así que agregamos la bandera NSURLIsExcludedFromBackupKey a nuestros archivos, y disminuyó la cantidad de datos almacenados en iCloud.

PERO - nos dimos cuenta de que NSUserDefaults también ocupa bastante espacio en iCloud. Estamos usando [NSUserDefaults standardUserDefaults] y no tenemos mucho control de él.

Si vamos a device->settings->iCloud->Storage & BackUP->Manage Storage, podemos ver que nuestra aplicación todavía se lleva a 0,5 kb de datos en el iCloud, debido al uso de NSUserDefaults. (eliminación de los usos de NSUserDefaults en el código se reducirá a 0 - sin datos)

¿Apple rechazar nuestra aplicación para el nuevo NSUserDefaults toma de datos en el iCloud?

+0

No, se espera que las aplicaciones usen 'NSUserDefaults', ¿cuánto espacio ocuparon sus otros archivos y dónde fueron almacenados? – danielbeard

+0

La aplicación usó 2.4 MB de espacio. Ahora lleva entre 0.4kb y 0.8kb. – igoren

+0

Puedo ver ahora una advertencia en el código: ADVERTENCIA: La fase de compilación Copy Bundle Resources contiene el archivo Donno-Info.plist de este destino 'Donno-Info.plist'. Veo que copió el plist del paquete. Ya enviamos la aplicación Apple de esa manera, ¿cree que rechazarán la aplicación por ese motivo? (puede duplicar la cantidad de espacio NSUserDefaults) .. – igoren

Respuesta

3

Puede utilizar cualquier cantidad de datos en NSUserDefaults en su aplicación y no será rechazado. No estoy seguro de cuáles son los datos máximos para ello, pero no recuerdo que Apple haya especificado un límite. Sin embargo, hay un límite para la configuración predeterminada de iCloud. Puede hacer una copia de seguridad de NSUserDefaults en iCloud, pero hay un límite estricto de 1Mb para los datos guardados allí. Así que tenga en cuenta lo grande que se obtienen sus datos cuando se guardan allí.

+1

Pero NSUserDefaults tampoco está destinado para el almacenamiento de datos arbitrarios. Está pensado solo para preferencias y configuraciones. – uchuugaka

Cuestiones relacionadas