La postura de "todo o nada" de Apple en iCloud: ¿es una guía difícil?

La documentation de Apple parece indicar constantemente que los documentos generados por el usuario deberían estar todos almacenados localmente o deberían estar todos almacenados en iCloud. Aquí hay un ejemplo de esta página de iOS (el énfasis en Todo es de ellos):

Todos los documentos de una aplicación se almacenan en el entorno limitado local o en un directory de contenedor de iCloud. Un usuario no debería poder seleccionar documentos individuales para su almacenamiento en iCloud.

Me gustaría permitir que los usuarios administren documentos de forma individual: quizás quieran que uno sea local (para ahorrar espacio de su asignación de iCloud), otro para estar en iCloud para que puedan manipularlo a través de dispositivos y otro para estar en DropBox para que puede copyrlo en la count de un amigo o hacer una copy de security manualmente o incluso editarlo externamente. El enfoque de todo o nada en realidad obstaculizaría la flexibilidad, especialmente cuando vengo a introducir la synchronization de DropBox . En mi caso, la elección individual también hace que la interfaz de usuario sea más simple.

Entonces, la pregunta es: ¿puedo esperar problemas en el momento de la revisión si me atengo a mis planes para permitir que los usuarios elijan sus preferences de almacenamiento (local, iCloud y pronto DropBox) por documento individual? No he encontrado pautas específicas para esto. Edición : Ninguno de los lineamientos menciona iCloud.

Es un deber , no un deber (del mismo modo que debe soportar todas las orientaciones en el iPad, pero no creo que lo forzarán si la interfaz de usuario necesitaría una revisión completa). Si tiene un uso bastante convincente y una interfaz de usuario no torpe, sospecho que lo dejarán pasar, pero no lo he probado.

Si no está en las directrices de revisión, entonces dudo que sea motivo de rechazo aparte de cualquier requisito de "usabilidad", pero, sinceramente, dada la calidad promedio de las IU que hay, no estaría demasiado preocupado.

(De hecho, una interpretación estricta de esa directriz es que no se supone que deba usar Dropbox / Google Drive / etc / roll-your-own-cloud-storage, pero esa no es la intención a less que inviten demandas antimonopolio. )

Hice muchas testings para una aplicación con iCloud. Empecé con la suposition de que sería transparente para el usuario si todo estaba en iCloud o no, de lo contrario, ¿por qué Apple sugeriría este enfoque?

Desafortunadamente, no probaron esto completamente antes de implementarlo. Tuve muchos problemas en iCloud y UIDocument con iOS 4 y luego 5 (muchas inputs de radar de choques extraños). De hecho, probablemente pasé la mitad de mi time de desarrollo trabajando en este problema en lugar de mejorar la aplicación.

De todos modos, la conclusión fue que mi aplicación era MUCHO más lenta cuando accedía a documentos que se ejecutaban solo en la nube. Apple intenta almacenar los documentos en caching en los directorys de documentos mobilees. Hay información mínima sobre cómo determinar el estado del almacenamiento en caching y, por lo tanto, tratar de evitar documentos no disponibles o lentitud. La interfaz de usuario terminó extremadamente desigual en UITableViews o simplemente se estrelló en las bibliotecas del sistema.

Entonces, en resumen, mi aplicación almacena todo localmente. Si un usuario realiza un cambio, la aplicación lo copy en iCloud y ejecuta processs en segundo plano para monitorear el estado del documento que se acerca a la nube. También transfiere manualmente files cambiados por otro dispositivo en iCloud para mantener todo sincronizado, nuevamente en processs en segundo plano.

No he tenido quejas en absoluto de los revisores de Apple. Si lo hiciera, los apuntaría a las muchas inputs de radar.