Base de Datos en el Sandbox

Alguna idea de cmo accesar una base de datos en una aplicacin que ha sido “sandoboxed” para el App Store?

Hola Juan Carlos,

No representa ningún problema, y es bastante fácil.

Todo lo que has de hacer es crear un paso de compilación que se encargue de copiar el archivo de BBDD a la carpeta Resources del bundle, por ejemplo, de modo que luego accedes a ella desde ahí.

Ahora bien: ¡¡¡IMPORTANTE!!!

Recuerda que:
— Si vas a utilizar la BBDD en modo de lectura no tendrás ningún problema en acceder a ella directamente desde la carpeta Recursos (Resources) en el bundle de la aplicación.
— Pero si vas a escribir también en la base de datos, entonces el programa deberá de copiarla previamente desde la carpeta Recursos a la carpeta de Documentos del usuario o, mejor, a la carpeta de ApplicationSupport.

Esto se debe a que las aplicaciones distribuidas a través de la Mac App Store y firmadas no pueden modificar el paquete del ejecutable. Por tanto, no se puede modificar la base de datos propiamente dicha siempre y cuando se encuentre dentro del propio bundle de la aplicación.

El segundo caso es el que utilicé en su momento en esta aplicación distribuida en la Mac App Store, en la que se utiliza una BBDD SQLite y que se copia fuera del bundle durante la primera ejecución:

https://itunes.apple.com/es/app/xtra/id834944210?mt=12

Saludos,

Javier Rodríguez
Evangelista Xojo en Español
Autor del libro “Programación Multiplataforma Xojo

Gracias