ios iphone sqlite

ios - ¿Cómo accedo a la instancia de la base de datos SQLite en iPhone?



sqlite swift (8)

El método Download Container es el que encontré ser el mejor. Sin embargo, debe tener cuidado de que algunas veces, si intenta enviarlo por correo electrónico o adjuntarlo desde la aplicación, el archivo que se envíe estará vacío.

Estoy desarrollando una aplicación para iPhone que usa la base de datos SQLite incorporada. Estoy tratando de ver y abrir la base de datos a través de la herramienta de línea de comandos sqlite3 para que pueda ejecutar SQL arbitrario contra ella.

Cuando ejecuto mi aplicación en el simulador, el archivo .sqlite que crea se encuentra en ~/Library/Application Support/iPhone Simulator/User/Applications/ .

¿Cómo puedo ver ese archivo en el iPhone físico?


En XCode 4, haces lo mismo que Lounges sugerido, que guardará toda la estructura de archivos de tu aplicación en el destino que elijas. Cambie el nombre del archivo .xcappdata que se guarda en .sqlite para que pueda abrirlo haciendo doble clic, luego puede encontrar el archivo desde el dispositivo.


En Xcode, seleccione ventana-> organizador y expanda el nodo junto a su aplicación en la sección de aplicaciones de su teléfono. Seleccione la flecha negra hacia abajo junto a los datos de la aplicación y guarde el archivo en cualquier lugar de su escritorio. Su base de datos sqlite debe estar allí en alguna parte.

En cuanto a cómo hacerlo para volver a ponerlo en el teléfono una vez hecho esto, no tengo ni idea.


Esto funciona si desbloqueas tu iPhone ... no sé por qué alguien tendría problemas con el jailbreaking de su teléfono, ya que lo he estado usando para el desarrollo por bastante tiempo y no encontré problemas, también es común para sqlite para realizar de manera diferente en el dispositivo vs simulador:

  1. cárcel rompe tu teléfono (hay tutoriales en toda la web)
  2. establece tu nivel de usuario de cydia para el developer
  3. instale sqlite3 en su teléfono: vaya a cydia> administrar> fuentes> cydia / telesphoreo> sqlite3
  4. ssh en su teléfono usando iphone tunnel root ssh contraseña: "alpine"
  5. escriba which sqlite3 para asegurarse de tenerlo instalado
  6. navegue hasta la ubicación de su db .. un punto de interrupción en su código debería decirle dónde está ubicado ... en mi código se ve algo como esto

    NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex: 0]; NSString *pathName = [documentsDirectory stringByAppendingPathComponent:filename]; return pathName;

    observe que si ejecuta esto en el simulador ... obtendrá una ubicación como la siguiente: /Users/admin/Library/Application Support/iPhone Simulator/6.0/Applications/42302574-7722-48C1-BE00-91800443DA7C/Documents/email-524200.edb

en el dispositivo se verá así: /var/mobile/Applications/FB73857F-A822-497D-A4B8-FBFB269A8699/Documents/email-523600.edb

simplemente escribe sqlite3 %dbname% y puedes ejecutar sentencias sql directamente en tu teléfono ... sin copiarlo ni lo que sea


Exactamente de la misma manera que lo hace en el simulador. Existen muy pocas diferencias (importantes) entre el dispositivo y el simulador, y el acceso a los archivos y la carga de la biblioteca en su mayoría no forman parte de ellos.


Instrucciones para Xcode 6.0.1

  1. Xcode> Abrir> YourProject
  2. Xcode> Producto> Ejecutar
  3. Xcode> Ventana> Dispositivos
  4. (Columna 1 - seleccionar) Dispositivos> YourDeviceName
  5. (Columna 2: seleccione) Aplicaciones instaladas> YourAppName
  6. (Columna 2 - seleccione) Cog en la lista de ''Aplicaciones instaladas''
  7. (Pop-Up - seleccionar) Descargar contenedor ...
  8. Guardar en la ubicación
  9. Haga clic derecho en ''YourAppName.xcappdata''
  10. Seleccione ''Mostrar contenido del paquete''
  11. AppData> Documentos> YourDatabase.sqlite

La manera más fácil de hacerlo es usar iExplorer para descargar el archivo desde su aplicación. y luego use SQLite Professional de solo lectura para leer el archivo. Incluso pensé que no es en tiempo real, pero al menos es gratis. :-)


Tu pregunta sigue siendo un poco vaga. "Ver" en qué sentido? ¿Creas la base de datos SQLite? ¿Cómo? ¿Lo ha colocado manualmente en el área del sistema de archivos del Simulador? ¿Estás preguntando cómo hacerlo en el iPhone?

La forma más fácil es crear previamente una base de datos vacía con la herramienta de línea de comandos sqlite3, tenerla como un recurso en su aplicación, y luego copiarla en la carpeta de documentos de la zona de pruebas de su aplicación. Puede obtener la ruta a su carpeta de recursos a través del método pathForResource: ofType: de NSBundle, luego tome la ruta a su carpeta Documentos a través de NSSearchPathForDirectoriesInDomains () para la carpeta NSDocumentsDirectory en NSUserDomainMask, luego copie el archivo a través de los métodos de NSFileManager.

De lo contrario, puede usar las funciones de SQLite para crear una nueva base de datos desde cero al proporcionar los comandos SQL apropiados para definir su esquema.