usos sistema programacion origen operativo lenguaje caracteristicas apple ios xcode directory documents

ios - sistema - El directorio de documentos de Objective C sigue cambiando en el dispositivo



swift versions (1)

He estado desarrollando para iOS desde el principio y me he encontrado con algunos problemas. Empecé a hacer una aplicación que necesita para crear archivos y guardarlos en la carpeta de documentos y soporte de aplicaciones, sin embargo, la buena forma estándar de usar el

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory, NSUserDomainMask, YES); NSString *filePath = paths[0];

No funciona Sigue mostrando una ruta de archivo diferente cada vez que se inicia la aplicación.

He buscado en google sobre esto y todo el mundo parece decir que tienen este problema en el simulador. Sin embargo, este no es un problema restringido al simulador, ocurre en el dispositivo cada vez que se inicia la aplicación, independientemente de si lo ejecuta desde Xcode o no. Otros resultados de búsqueda me dicen la forma antigua de hacerlo y / o son de hace muchos años.

¿Alguien sabe que la forma actual de escribir en las carpetas Documentos y Soporte de aplicaciones es? Este es un problema que se compila desde Xcode 6.1, utilizando iOS SDK8.1, que se ejecuta en iOS7.1 e iOS8.1

Cualquier ayuda sería apreciada


Si está almacenando rutas en almacenamiento persistente con la intención de usar esa ruta en el futuro, debe almacenar solo la ruta relativa a la carpeta Documentos de la aplicación y luego, cuando necesite acceder a ese recurso, obtenga la ruta de la carpeta Documentos en tiempo de ejecución y anexe su ruta relativa de su recurso.

Por otro lado, solo veo este comportamiento cambiante en la ruta de la zona de pruebas cuando ejecuto mi aplicación a través de Xcode. Si ejecuto la aplicación directamente desde mi dispositivo, la ruta no cambia. A pesar de eso, siempre me inclinaría a utilizar rutas relativas en lugar de rutas fijas. Nunca asumiría que la ruta de la zona de pruebas no podría cambiar (por ejemplo, si la aplicación se copia y se restaura más tarde, no supondría que las rutas no se modifican).