<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ZenBrains &#187; iPhoneSimulator</title>
	<atom:link href="http://www.zenbrains.com/blog/category/iphonesimulator/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zenbrains.com/blog</link>
	<description>IPhone Development Team</description>
	<lastBuildDate>Tue, 17 May 2011 21:06:43 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Copiar un archivo de nuestro proyecto a la carpeta documentos de nuestra aplicación</title>
		<link>http://www.zenbrains.com/blog/2010/07/copiar-un-archivo-de-nuestro-proyecto-a-la-carpeta-documentos-de-nuestra-aplicacion/</link>
		<comments>http://www.zenbrains.com/blog/2010/07/copiar-un-archivo-de-nuestro-proyecto-a-la-carpeta-documentos-de-nuestra-aplicacion/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 09:07:55 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[iPhoneSimulator]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[How_to]]></category>
		<category><![CDATA[Objective-C]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=549</guid>
		<description><![CDATA[Con este post mostraré como podemos copiar un archivo, que previamente hemos añadido a nuestro proyecto, a la carpeta documentos de nuestra aplicación. La idea es la de poder inicializar de una manera rápida y cómoda la base de datos, algún archivo de configuración que tengamos o cosas por el estilo que tenemos que guardar [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F07%2Fcopiar-un-archivo-de-nuestro-proyecto-a-la-carpeta-documentos-de-nuestra-aplicacion%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F07%2Fcopiar-un-archivo-de-nuestro-proyecto-a-la-carpeta-documentos-de-nuestra-aplicacion%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Con este post mostraré como podemos copiar un archivo, que previamente hemos añadido a nuestro proyecto, a la carpeta documentos de nuestra aplicación. La idea es la de poder inicializar de una manera rápida y cómoda la base de datos, algún archivo de configuración que tengamos o cosas por el estilo que tenemos que guardar en la carpeta documentos de la aplicación porque durante ejecución sufrirán cambios realizados por el usuario, evitando así tener que crearlos desde el código de la aplicación.</p>
<p>Primero, lo que tenemos que hacer es añadir ese archivo al proyecto para tener acceso a él desde el código cuando se ejecuta la aplicación. Añadid el archivo a la carpeta &#8220;Resources&#8221; del proyecto.</p>
<p>Una vez tenemos el archivo en el proyecto, podemos añadir el código para copiar el archivo a la carpeta documentos, añadid el siguiente código en vuestro AppDelegate, podéis crearos una función nueva para inicializar los archivos que necesiteis, o añadirlo directamente al init del AppDelegate.</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">// Copy init.sqlite from resources to the Documents folder in bundle</span>
<span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>storePath <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>self applicationDocumentsDirectory<span style="color: #002200;">&#93;</span> stringByAppendingPathComponent<span style="color: #002200;">:</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;data.sqlite&quot;</span><span style="color: #002200;">&#93;</span>;
<span style="color: #a61390;">if</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">!</span><span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSFileManager</span> defaultManager<span style="color: #002200;">&#93;</span> fileExistsAtPath<span style="color: #002200;">:</span>storePath<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>
<span style="color: #002200;">&#123;</span>
	<span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>filePath <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><span style="color: #400080;">NSBundle</span> mainBundle<span style="color: #002200;">&#93;</span> pathForResource<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;init&quot;</span> ofType<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;sqlite&quot;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #400080;">NSData</span> <span style="color: #002200;">*</span>myData <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSData</span> dataWithContentsOfFile<span style="color: #002200;">:</span>filePath<span style="color: #002200;">&#93;</span>;
	<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span><span style="color: #002200;">!</span><span style="color: #002200;">&#91;</span>myData writeToFile<span style="color: #002200;">:</span>storePath atomically<span style="color: #002200;">:</span><span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
		NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;ERROR writting the starting database&quot;</span><span style="color: #002200;">&#41;</span>;
	<span style="color: #002200;">&#125;</span>
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>En el ejemplo anterior usamos un archivo,<em> init.sqlite</em>, como base de datos inicial para nuestra aplicación y guardamos el mismo archivo bajo el nombre de <em>data.sqlite</em> en el directorio documentos de nuestra aplicación. Daos cuenta también de que usamos un if para comprobar si el archivo existe o no, de forma que sólo se ejecutará la primera vez que ejecutemos la aplicación, ésto es así, para que cuando nuestro usuario vaya añadiendo datos no se los borremos y carguemos siempre la base de datos inicial. Si durante las pruebas queréis volver a obtener el archivo original, eliminad la aplicación del iPhone o del iPhone Simulator.</p>
<p>El método <strong>applicationDocumentsDirectory</strong> es la siguiente función que nos devuelve la ruta a la carpeta.</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">/**
 Returns the path to the application's Documents directory.
 */</span>
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>applicationDocumentsDirectory <span style="color: #002200;">&#123;</span>
	<span style="color: #a61390;">return</span> <span style="color: #002200;">&#91;</span>NSSearchPathForDirectoriesInDomains<span style="color: #002200;">&#40;</span>NSDocumentDirectory, NSUserDomainMask, <span style="color: #a61390;">YES</span><span style="color: #002200;">&#41;</span> lastObject<span style="color: #002200;">&#93;</span>;
<span style="color: #002200;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/07/copiar-un-archivo-de-nuestro-proyecto-a-la-carpeta-documentos-de-nuestra-aplicacion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Añadir fotos en iPhone Simulator</title>
		<link>http://www.zenbrains.com/blog/2010/06/anadir-fotos-en-iphone-simulator/</link>
		<comments>http://www.zenbrains.com/blog/2010/06/anadir-fotos-en-iphone-simulator/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 20:14:20 +0000</pubDate>
		<dc:creator>Marcos</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[iPhoneSimulator]]></category>
		<category><![CDATA[How_to]]></category>

		<guid isPermaLink="false">http://www.zenbrains.com/blog/?p=511</guid>
		<description><![CDATA[No se si alguna vez os ha pasado que para limpiar vuestro simulador (iPhone Simulator) en lugar de borrar aplicación por aplicación, hicisteis un reset y después os encontrasteis conque desaparecieron todas las fotos XD, que esperabais . Bien, pues tanto si hicisteis un reset intencionadamente, sin querer, o para limpiar toda los datos y [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F06%2Fanadir-fotos-en-iphone-simulator%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.zenbrains.com%2Fblog%2F2010%2F06%2Fanadir-fotos-en-iphone-simulator%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>No se si alguna vez os ha pasado que para limpiar vuestro simulador (iPhone Simulator) en lugar de borrar aplicación por aplicación, hicisteis un reset y después os encontrasteis conque desaparecieron todas las fotos XD, que esperabais <img src='http://www.zenbrains.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Bien, pues tanto si hicisteis un reset intencionadamente, sin querer, o para limpiar toda los datos y apps innecesarios que se acumulan al hacer pruebas y más pruebas aquí van un par de trucos para añadir nuevas fotos:</p>
<p><strong><span style="text-decoration: underline;">Fotos que tenemos en archivos:</span></strong></p>
<p>Para añadir fotos que ya tenemos en alguna otra carpeta solo teneis que copiarlas en la siguiente ruta.</p>
<p>~/Users/<span style="color: #ff0000;">&lt;usuario&gt;</span>/Library/Application Support/iPhone Simulator/<span style="color: #ff0000;">3.1.3</span>/Media/DCIM/100APPLE</p>
<p>Donde <span style="color: #ff0000;">&lt;usuario&gt; <span style="color: #000000;">es vuestro nombre de usuario, si no y quizá tengáis que cambiar también la versión del SDK por la que estéis usando.</span></span></p>
<p><strong>Nota:</strong> He visto varias rutas diferentes, que empiezan diractamente por ~/Library/Application Support/iPhone Simulator/&#8230;, la idea es que tenéis que estar dentro de la carpeta del iPhone Simulator, y añadir las fotos en Media/DCIM/100APPLE, si esta última carpeta no esta crearla.</p>
<p><strong>Variante: </strong>También podéis abrir Safari dentro del simulador y arrastrar el archivo a la pagina web de éste, luego haced click y no solteis el botón hasta que os aparezca la opción de salvar la imagen. Se os añade a la librería de fotos.</p>
<p><strong><span style="text-decoration: underline;">Fotos desde internet:</span></strong></p>
<p>En caso de que queráis añadir nuevas fotos desde internet, por ejemplo desde google images, solo tenéis que hacer como antes (en la variante) y pulsar sobre la imagen, aguantando el botón hasta que os deje guardarla.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zenbrains.com/blog/2010/06/anadir-fotos-en-iphone-simulator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

