Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Dónde están las aplicaciones y archivos del simulador Xcode6?

¿Dónde están las aplicaciones y archivos del simulador Xcode6?

Después del lanzamiento de Xcode6, ha habido muchos cambios y cambios funcionales, que no entraré en detalles aquí. Apple ha hablado de ello en la WWDC y hay muchos artículos online. Lo que quiero presentar aquí son algunos lugares pequeños que no son fáciles de encontrar, pero que son muy importantes.

1. Cambio de ruta del simulador Xcode6

En Xcode5 y versiones anteriores, la ruta del simulador Xcode es:/users/username/library/application support/iphone.

Emuladores. En esta carpeta puedes ver todas las versiones del emulador. Después de hacer clic para ingresar, podrá ver la zona de pruebas de la aplicación.

Durante el desarrollo, se recomienda arrastrar el acceso directo al archivo a la colección personal en el lado izquierdo del Finder para facilitar la apertura y visualización del entorno limitado de la aplicación.

En Xcode6, la ubicación del simulador se ha cambiado y la dirección es la siguiente:/users/username/library/developer/core Simulator. Después de abrir, encontrará la siguiente situación:

Aquí, Apple ha codificado el simulador en lugar de nombrarlo y clasificarlo según la versión del sistema del simulador, distingue todos los simuladores en Xcode6, entre los que se encuentran las 16 carpetas. corresponden respectivamente a los 16 simuladores en Xcode6.

Entonces, ¿cómo se determina en qué emulador se basa esta carpeta aparentemente confusa?

Después de seleccionar un archivo, verá una carpeta llamada datos y el archivo de configuración dispositivo.plist. Después de abrir el archivo de configuración dispositivo.plist, verá el UDID, el tipo de dispositivo y la versión y el nombre del sistema. . A través de esto, puede conocer el dispositivo y la versión del sistema del simulador. Después de abrirlo, encontrará que el nombre del archivo que parece caracteres confusos es en realidad el UDID del dispositivo del simulador. Aunque puede obtener el UDID del emulador desde aquí, y Apple también lo usa para clasificar el emulador, en la programación real, si eventualmente desea publicarlo en la tienda de aplicaciones, abandonemos el UDID. Este también es el punto dominante de Apple. Por supuesto, esto se hace protegiendo la privacidad del usuario.

2. Cambio de la dirección de la zona de pruebas de la aplicación

Después de obtener la ruta del simulador, todavía usamos muchas diferentes, y la dirección de la zona de pruebas de la aplicación también era diferente a la anterior.

En Xcode5 y versiones anteriores, la dirección de la zona de pruebas es la siguiente:/users/username/library/application support/iphone.

Simulator/7.0.3/Aplicaciones, en Aplicaciones, encontrarás el sandbox de la aplicación.

Después de abrir la zona de pruebas de la aplicación, habrá archivos de la aplicación, carpetas de documentos, carpetas de biblioteca y carpetas tmp. En cuanto a las funciones de estas carpetas, no entraré en detalles aquí.

En Xcode6, cuatro archivos: archivo de aplicación, carpeta de documentos, carpeta de biblioteca y carpeta tmp se colocan en diferentes directorios. Ruta del archivo de la aplicación: /usuarios/nombre de usuario/biblioteca/desarrollador/simulador central/dispositivos/emulador UDID/datos/Contenedores/Bundle/, en la carpeta de documentos de la aplicación, carpeta de la biblioteca, ruta de la carpeta tmp en el archivo de la aplicación:/usuarios/; nombre de usuario/Biblioteca/desarrollador/simulador central/dispositivos/emulador udid/datos/contenedores/datos/. Desafortunadamente, los nombres de los archivos de estas dos rutas todavía están codificados. Los archivos de la aplicación en la misma aplicación y los nombres de los archivos de las carpetas D, L y T son diferentes. Sólo puedes encontrarlo tú mismo.

3. Se ha cambiado la ubicación de almacenamiento del archivo NSUserDefault.

NSUserDefault es un método de almacenamiento de datos localizado proporcionado por iOS. Creará automáticamente un archivo de configuración .plist en el entorno de pruebas, guardará los datos y utilizará el diccionario NSDictionary para recibirlos durante la lectura.

En Xcode5 y versiones anteriores, la ruta específica es:/users/shifengwei/library/application support/iphone.

En Simulator/7 .0 3/applications/c 9588981-3d 82-49bc-92b 8-f5ba 72185629/library, en la carpeta Preferencias, el nombre es paquete de programa.

Archivo Plist de identificador. Después de eliminar el programa en el simulador, los archivos plist en la carpeta Biblioteca también se eliminarán en consecuencia.

En Xcode6, el programa cambió la ubicación del archivo plist creado por NSUserDefault. La ruta específica es:/users/username/Library/developer/core Simulator/devices/emulator UDID/data/Library, Preferences. carpeta.

Especialmente cuando miras la ruta abierta en el visor, no se ve así, parece que pasa por

Finder, ve a la carpeta y puedes encuéntralo por este camino. La dirección de ruta anterior se obtiene mirando el archivo de configuración de pantalla en la carpeta de preferencias.

En la ruta anterior, podemos ver que la carpeta plist creada por NSUserDefault todavía está en el archivo de la biblioteca. La diferencia es que la ubicación de almacenamiento real ha cambiado y se convierte en la carpeta de la base de datos del simulador. El cambio provocado por este cambio es que cuando eliminamos la aplicación en el simulador, el archivo plist aún se conservará y no se eliminará.

Entonces, dado que la posición en el simulador ha cambiado, ¿cuál es la diferencia a este respecto después de actualizar a iOS8? Primero hablemos de la diferencia entre depurar en una máquina real.

En 1 y Manager, en Xcode5, hay tres columnas: dispositivo, proyecto y archivo. En Xcode6, el dispositivo se saca por separado, al igual que el administrador, está en la barra de menú y la ventana de Xcode. . Abajo. Si sabes que Xcode se actualizó desde 4. Cuando x llegue a 5, sabrá que el Organizador también cambió en ese momento, de las cuatro columnas originales a tres columnas, y el documento de ayuda también se eliminó.

2. Al depurar la máquina real, la zona de pruebas aplicada en la máquina real se abrirá para su visualización. En Xcode,

abra la aplicación del dispositivo, puede descargar el entorno de pruebas de la aplicación, haga clic con el botón derecho para mostrar el contenido del paquete y ver la información del entorno de pruebas. Pero iOS8 e iOS7 siguen siendo diferentes a los anteriores.

La imagen de arriba es la misma aplicación en diferentes sistemas. La imagen de la izquierda muestra el contenido de la zona de pruebas descargado en iOS8 y la imagen de la derecha muestra el contenido de la zona de pruebas descargado en iOS7.0.4. Obviamente, en iOS8, el contenido de la zona de pruebas descargado a través del dispositivo no se puede ver.

Aquí utilizamos iFunBox a través de software de terceros. Una vez encontrada la aplicación, podemos abrirla y encontrar el contenido del sandbox. Después de copiarlo a la computadora local, descubrimos que solo había tres de los cinco archivos originales, a saber, la carpeta Documento, la carpeta Biblioteca y la carpeta tmp.

En particular, como se mencionó anteriormente, en el simulador, el archivo plist creado automáticamente por NSUserDefault permanecerá después de que se elimine el software, pero también se eliminará en la máquina real. La ruta al archivo plist correspondiente va a la carpeta Preferencias en la carpeta de la biblioteca exportada, pero no permanecerá después de eliminar la aplicación. Ésta debe considerarse la diferencia entre una máquina real y un simulador.

Esta diferencia lleva a una situación. ¿Puedo seguir usando NSUserDefault? En lo que a mí respecta, no seré abandonado. Después de todo, sólo eliminará las reservas de la aplicación en el simulador, no el dispositivo real. Y como persistencia de datos en desarrollo, NSUserDefault sigue siendo muy útil a la hora de guardar datos. Por supuesto, algunos desarrolladores no se adaptarán a esta situación y les preocupa que aparezca en dispositivos reales. Si un desarrollador cree que es inapropiado, puede crear un archivo plist en el sandbox para reemplazarlo. Sin embargo, no se recomienda si se utilizan muchos NSUserDefaults en la aplicación.

Después de todo, el NSUserDefault empaquetado por Apple sigue siendo muy útil. Después de eliminar el archivo en el emulador, puede eliminar el archivo plist en la carpeta donde está guardado el archivo plist. Sólo unos pocos pasos. Al menos por ahora, esto sigue siendo así en las máquinas reales.

Por supuesto, en iOS, además de que NSUserDefault genera automáticamente archivos para el almacenamiento de datos, lo mismo ocurre con los archivos. Como el autor no lo ha probado, no lo mencionaré aquí para evitar engaños. Lo resumiré y publicaré después de la prueba.

PD: Finalmente agrega un comando para abrir o cerrar archivos ocultos de Mac.

Comando abrir archivos ocultos de Mac: valor predeterminado

Escribir com apple finder AppleShowAllFiles-bool true

Comando cerrar archivos ocultos de Mac: valor predeterminado

Escribir com.apple.finder AppleShowAllFiles-bool

Incorrecto

Método: en Terminal, ingrese este comando, presione Intro y luego reinicie Finder durante el cierre forzado.