<?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>XCode &#8211; freniche.com</title>
	<atom:link href="/tag/xcode/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>Another personal blog about everything tech-related</description>
	<lastBuildDate>Sun, 30 Dec 2018 19:56:49 +0000</lastBuildDate>
	<language>es-ES</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.8.13</generator>
	<item>
		<title>Cómo instalar Xcode 6 GM (o cualquier versión final de Xcode) sin sobreescribir la anterior</title>
		<link>/2014/09/10/como-instalar-xcode-6-gm-o-cualquier-version-final-de-xcode-sin-sobreescribir-la-anterior/</link>
		<pubDate>Wed, 10 Sep 2014 08:11:26 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[ObjectiveC]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">/?p=2233</guid>
		<description><![CDATA[De nuevo es esa época del año. Vuelta al cole. Fin del verano. Nuevo Xcode. Me encanta el olor a nuevo Xcode por la mañana Y siempre, el mismo temor: ¿qué pasa al instalar? ¿Voy a sobreescribir mi Xcode actual? Un poco de teoría Una App en OS X no es más que una carpeta [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>De nuevo es esa época del año. Vuelta al cole. Fin del verano. Nuevo Xcode.</p>
<blockquote>
<p>Me encanta el olor a nuevo Xcode por la mañana</p>
</blockquote>
<p>Y siempre, el mismo temor: ¿qué pasa al instalar? ¿Voy a sobreescribir mi Xcode actual?</p>
<h2>Un poco de teoría</h2>
<p>Una App en OS X no es más que una carpeta (un <em>bundle</em>) que contiene los ficheros ejecutables y recursos que la App necesita. Podemos verlo más claro desde el Finder pulsando con el botón derecho del ratón y escogiendo <em>Mostrar contenido del paquete</em>. Desde la terminal es aún más evidente. Si hacemos:</p>
<pre><code>$ cd /Applications/ 
$ ls -d Xcode*

drwxr-xr-x@ 3 dfreniche admin 102B 10 sep 09:47 Xcode.app/ 
drwxr-xr-x  3 root wheel 102B 16 abr 10:30 Xcode5.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 2 jul 02:52 Xcode6-Beta3.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 1 ago 23:17 Xcode6-Beta5.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 16 ago 00:35 Xcode6-Beta6.app/ 
drwxr-xr-x@ 3 dfreniche admin 102B 28 ago 09:01 Xcode6-Beta7.app/
</code></pre>
<p>veremos todas las versiones de Xcode que tenemos instaladas. No son más que directorios UNIX normales</p>
<h2>La práctica</h2>
<p>Durante la fase de Betas la imagen de disco con Xcode que descargamos contiene una carpeta con un nombre como Xcode6-Beta5. Este nombre es distinto de <code>Xcode</code>, con lo que no hay conflicto.</p>
<p>Cuando llega la GM y la versión definitiva, Apple distribuye un DMG con una App que ya se llama Xcode. Es Xcode 6, pero tiene <em>el mismo nombre de carpeta que el Xcode 5 que ya tienes instalado en tu disco duro</em>. Si lo copias, vas a perder Xcode 5.</p>
<div id="attachment_2234" style="width: 1467px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2014/09/Xcode5-antes-copiar.png" alt="Xcode5 antes de copiar Xcode6 GM" width="1457" height="700" class="size-full wp-image-2234" srcset="/wp-content/uploads/2014/09/Xcode5-antes-copiar.png 1457w, /wp-content/uploads/2014/09/Xcode5-antes-copiar-300x144.png 300w, /wp-content/uploads/2014/09/Xcode5-antes-copiar-1024x491.png 1024w, /wp-content/uploads/2014/09/Xcode5-antes-copiar-920x442.png 920w" sizes="(max-width: 1457px) 100vw, 1457px" /><p class="wp-caption-text">]Xcode5 antes de copiar Xcode6 GM</p></div>
<p>Solución sencilla: <em>antes</em> de copiar nada a la carpeta Applications, renombra Xcode (como si fuera un fichero o carpeta normal, probablemente tengas que introducir tu clave de administrador) y ponle de nombre Xcode 5 (o el que prefieras, yo tengo por ahí una llamada <em>Ye olde Xcode 4.3</em>)</p>
<div id="attachment_2235" style="width: 1467px" class="wp-caption aligncenter"><img src="/wp-content/uploads/2014/09/Installing-Xcode6.png" alt="Instalando Xcode 6 tras renombrar Xcode 5" width="1457" height="700" class="size-full wp-image-2235" srcset="/wp-content/uploads/2014/09/Installing-Xcode6.png 1457w, /wp-content/uploads/2014/09/Installing-Xcode6-300x144.png 300w, /wp-content/uploads/2014/09/Installing-Xcode6-1024x491.png 1024w, /wp-content/uploads/2014/09/Installing-Xcode6-920x442.png 920w" sizes="(max-width: 1457px) 100vw, 1457px" /><p class="wp-caption-text">]Instalando Xcode 6 tras renombrar Xcode 5</p></div>
<p>Fácil, ¿no?</p>
]]></content:encoded>
			</item>
		<item>
		<title>Café y Cocoa</title>
		<link>/2011/08/30/cafe-y-cocoa/</link>
		<comments>/2011/08/30/cafe-y-cocoa/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 13:10:22 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[Cafe y cocoa]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">/?p=1605</guid>
		<description><![CDATA[Así, sin más fanfarrias ni historias, le doy el pistoletazo de salida a algo que hace mucho tiempo tenía ganas de hacer: un videocast. Concretamente este se llama Café y Cocoa, y no es un curso, ni un tutorial. Es un «voy a hablar hoy de lo que me apetezca», así que, aunque parezca que [&#8230;]]]></description>
				<content:encoded><![CDATA[<div id="attachment_1607" style="width: 610px" class="wp-caption aligncenter"><a href="http://www.cafeycocoa.com.es/"><img class="size-full wp-image-1607" title="Cafe y cocoa" src="/wp-content/uploads/2011/08/cafeycocoa2.png" alt="Cafe y cocoa" width="600" height="600" srcset="/wp-content/uploads/2011/08/cafeycocoa2.png 600w, /wp-content/uploads/2011/08/cafeycocoa2-150x150.png 150w, /wp-content/uploads/2011/08/cafeycocoa2-300x300.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></a><p class="wp-caption-text">Cafe y cocoa</p></div>
<p style="text-align: justify;">Así, sin más fanfarrias ni historias, le doy el pistoletazo de salida a algo que hace mucho tiempo tenía ganas de hacer: un videocast. Concretamente este se llama <a href="http://www.cafeycocoa.com.es/">Café y Cocoa</a>, y no es un curso, ni un tutorial. Es un «voy a hablar hoy de lo que me apetezca», así que, aunque parezca que va a tener un orden lógico, estad preparados para lo peor <img src="https://s.w.org/images/core/emoji/2.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Quedan muchas cosas por hacer. Me gustaría publicarlo en iTunes. Y traducir el tema al Español. Y mejorar muchas cosas. Pero como ando escaso de tiempo, y al final lo fundamental es que al que le guste, que se vea los vídeos, voy a hacer un «release early» pero ya. Así que consideradlo en Beta, como todos los servicios de Google <img src="https://s.w.org/images/core/emoji/2.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>He procurado hacer vídeos cortos, y esa va a ser la tónica, para no aburrir a las ovejas. Se agradece feedback, aquí, en Café y Cocoa, por correo, en Twitter o por señales de humo. Ánimos e insultos son bienvenidos, como siempre.</p>
<p>¡Mamá, ya soy videocaster! ¡Y cumplo la Ley Emilcar!</p>
]]></content:encoded>
			<wfw:commentRss>/2011/08/30/cafe-y-cocoa/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Mi primera aplicación para iPad</title>
		<link>/2011/06/19/mi-primera-aplicacion-para-ipad/</link>
		<comments>/2011/06/19/mi-primera-aplicacion-para-ipad/#comments</comments>
		<pubDate>Sun, 19 Jun 2011 11:41:53 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[emprendiendo]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[ObjectiveC]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Freelance]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">/?p=1532</guid>
		<description><![CDATA[He terminado y entregado mi primera App para iPad. Ha sido un encargo, muy especial, para crear un cartel interactivo dentro de un museo. Así que no la busques en la App Store, porque no va a aparecer. La App está dedicada a narrar los sucesos que llevaron hasta la primera Constitución democrática de España, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">He terminado y entregado mi primera App para iPad. Ha sido un encargo, muy especial, para crear un cartel interactivo dentro de un museo. Así que no la busques en la App Store, porque no va a aparecer. La App está dedicada a narrar los sucesos que llevaron hasta la primera Constitución democrática de España, «La Pepa», proclamada en 1812. Es visualmente muy sencilla (debía ser «minimalista») y muy fácil de usar: se desplazan los sucesos con un «swipe» o bien se avanza por un «cover flow» en la parte inferior.</p>
<div id="attachment_1533" style="width: 810px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2011/06/timeline1.png"><img class="size-full wp-image-1533" title="Mi App para iPad en funcionamiento" src="/wp-content/uploads/2011/06/timeline1.png" alt="Mi App para iPad en funcionamiento" width="800" height="600" srcset="/wp-content/uploads/2011/06/timeline1.png 800w, /wp-content/uploads/2011/06/timeline1-300x225.png 300w" sizes="(max-width: 800px) 100vw, 800px" /></a><p class="wp-caption-text">Mi App para iPad en funcionamiento</p></div>
<p>Con esta App he aprendido muchas cosas:</p>
<ul>
<li>cómo desarrollar pensando en la resolución del iPad</li>
<li>cómo hacer pruebas con el iPad de mi mujer cuando ella no lo está usando</li>
<li>cómo usar a fondo UIScrollView</li>
<li>cómo encontrar trozos de código en Internet que me resuelvan problemas <img src="https://s.w.org/images/core/emoji/2.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
<li>cómo distribuir una App de forma sencilla para que el cliente la pruebe sin tener que ir yo a instalarla en sus dispositivos (gracias @xelecto por enseñarme <a href="http://www.hanchorllc.com/category/ios-betabuilder/">BetaBuilder</a>)</li>
<li>a hacer un MVC del que me sienta contento</li>
<li>a comenzar un proyecto pensando en cómo voy a reutilizar el código</li>
<li>que el iPad no tiene motor de vibración <img src="https://s.w.org/images/core/emoji/2.3/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
<li>que desarrollar para un estudio de diseñadores te abre los ojos sobre muchos aspectos de diseño, pero también a ratos te hace odiar a la raza humana.</li>
</ul>
<div id="attachment_1534" style="width: 810px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2011/06/timeline2.png"><img class="size-full wp-image-1534" title="Cambiando de evento" src="/wp-content/uploads/2011/06/timeline2.png" alt="Cambiando de evento" width="800" height="600" srcset="/wp-content/uploads/2011/06/timeline2.png 800w, /wp-content/uploads/2011/06/timeline2-300x225.png 300w" sizes="(max-width: 800px) 100vw, 800px" /></a><p class="wp-caption-text">Cambiando de evento</p></div>
<p style="text-align: justify;">Increíblemente he cumplido «casi» perfectamente en tiempo, pese a estar con mil cosas a la vez. Y me he vendido muy barato, debo decirlo, porque el proyecto me atraía mucho.</p>
<p>Tengo ahora una buena base para plantearme una App que cuente cuentos, o explique cosas (al estilo de aquellos estupendos libros de «Cómo funcionan las cosas»).</p>
<p style="text-align: justify;">Así que ya sabes: si tienes una App interesante para desarrollar, dinero en el bolsillo y las ideas claras, siempre puedes <a href="/contactar/">contactar</a> conmigo para contratarme como desarrollador Freelance. O directamente puedes donarme el dinero y ya yo voy haciendo algo «magical» <img src="https://s.w.org/images/core/emoji/2.3/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<div id="attachment_1535" style="width: 810px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2011/06/timeline3.png"><img class="size-full wp-image-1535" title="Batalla de Trafalgar" src="/wp-content/uploads/2011/06/timeline3.png" alt="Batalla de Trafalgar" width="800" height="600" srcset="/wp-content/uploads/2011/06/timeline3.png 800w, /wp-content/uploads/2011/06/timeline3-300x225.png 300w" sizes="(max-width: 800px) 100vw, 800px" /></a><p class="wp-caption-text">Batalla de Trafalgar</p></div>
]]></content:encoded>
			<wfw:commentRss>/2011/06/19/mi-primera-aplicacion-para-ipad/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Usando XCode 3.2.5 con dispositivos iOS 4.2.1</title>
		<link>/2010/11/24/usando-xcode-3-2-5-con-dispositivos-ios-4-2-1/</link>
		<comments>/2010/11/24/usando-xcode-3-2-5-con-dispositivos-ios-4-2-1/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 17:53:54 +0000</pubDate>
		<dc:creator><![CDATA[dfreniche]]></dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ObjectiveC]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">/?p=1276</guid>
		<description><![CDATA[Hace unos días salió la 4.2.1 de iOS para iPhone y iPod Touch. Sin pensarlo demasiado, actualicé mi iPhone 3Gs, que es la máquina que uso en el día a día, pero también la uso como máquina de desarrollo y pruebas. Pero no caí en el posible problema: tener en mi dispositivo instalado una versión [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Hace unos días salió la 4.2.1 de iOS para iPhone y iPod Touch. Sin pensarlo demasiado, actualicé mi iPhone 3Gs, que es la máquina que uso en el día a día, pero también la uso como máquina de desarrollo y pruebas. Pero no caí en el posible problema: tener en mi dispositivo instalado una versión de iOS no soportada por XCode.</p>
<p>Pero salió la 3.2.5 de XCode y me la bajé e instalé. Bueno, problema solucionado ¿no?. Veamos, esta versión soporta&#8230; ¿iOS 4.2? ¿Y qué pasa con iOS 4.2.1? Un sudor frío me recorrió la espalda. Y se confirmaron mis miedos con este tweet de <a href="http://twitter.com/jdortiz">@jdortiz</a>:</p>
<p><a href="/wp-content/uploads/2010/11/tweet.png"><img class="aligncenter size-full wp-image-1277" title="tweet" src="/wp-content/uploads/2010/11/tweet.png" alt="" width="540" height="93" srcset="/wp-content/uploads/2010/11/tweet.png 540w, /wp-content/uploads/2010/11/tweet-300x51.png 300w" sizes="(max-width: 540px) 100vw, 540px" /></a></p>
<p>Lógicamente, estoy en fase de pruebas para lanzar la v1.1 de <a href="/2010/11/09/mi-primera-app-ya-esta-en-el-app-store-myevents/">MyEvents</a>. Esto sólo te pasa cuando estás probando. Murphy es cruel.</p>
<p>Esta mañana, me remangué y me senté frente a XCode. Al abrir el proyecto, un solitario error:</p>
<div id="attachment_1278" style="width: 328px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2010/11/base-sdk-missing.png"><img class="size-full wp-image-1278" title="base-sdk-missing" src="/wp-content/uploads/2010/11/base-sdk-missing.png" alt="" width="318" height="36" srcset="/wp-content/uploads/2010/11/base-sdk-missing.png 318w, /wp-content/uploads/2010/11/base-sdk-missing-300x33.png 300w" sizes="(max-width: 318px) 100vw, 318px" /></a><p class="wp-caption-text">Mi XCode no entiende qué es eso de iOS 4.2.1 <img src="https://s.w.org/images/core/emoji/2.3/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p></div>
<p>Abrí el Organizer (para ver mis dispositivos), y nada más abrirlo me apareció la siguiente ventana:</p>
<p style="text-align: justify;"><a href="/wp-content/uploads/2010/11/unknown-ios.png"><img class="aligncenter size-full wp-image-1279" title="unknown-ios" src="/wp-content/uploads/2010/11/unknown-ios.png" alt="" width="434" height="190" srcset="/wp-content/uploads/2010/11/unknown-ios.png 434w, /wp-content/uploads/2010/11/unknown-ios-300x131.png 300w" sizes="(max-width: 434px) 100vw, 434px" /></a>Vamos, que XCode me estaba diciendo: «esto de iOS 4.2.1 no tengo ni idea de qué es, pero si quieres me leo unos cuantos ficheros del iOS de este iPhone y trato de ver si soy capaz de manejarlo». Evidentemente, pulsé en Collect. Una barra de progreso me indicaba que se importaban los ficheros de iOS de mi iPhone. En segundo plano, XCode «desimbolicaba», es decir, desensamblaba el código de iOS 4.2.1 y lo preparaba para poder depurar con él. Al finalizar, supe que había triunfado porque el Organizer me mostraba la versión correcta en mi dispositivo:</p>
<p style="text-align: justify;"><a href="/wp-content/uploads/2010/11/organizer.png"><img class="aligncenter size-medium wp-image-1281" title="organizer" src="/wp-content/uploads/2010/11/organizer-300x225.png" alt="" width="300" height="225" srcset="/wp-content/uploads/2010/11/organizer-300x225.png 300w, /wp-content/uploads/2010/11/organizer-1024x769.png 1024w, /wp-content/uploads/2010/11/organizer.png 1029w" sizes="(max-width: 300px) 100vw, 300px" /></a>Ahora ya sólo me quedaba actualizar la información del proyecto (para que se compilase usando el SDK correcto) y del target (el ejecutable que genera XCode) para se enlazase con las bibliotecas de la versión correcta. Pulsamos sobre el proyecto, ? + I (obtener información) y en la pestaña Build, cambiamos Base SDK. En mi caso ponía 4.1 (missing) y le he puesto la última. Luego repetimos, pero en el Target, ? + I, build y ponemos el Base SDK a 4.2.</p>
<p><img class="aligncenter size-medium wp-image-1282" title="base-sdk" src="/wp-content/uploads/2010/11/base-sdk-300x73.png" alt="" width="300" height="73" srcset="/wp-content/uploads/2010/11/base-sdk-300x73.png 300w, /wp-content/uploads/2010/11/base-sdk.png 524w" sizes="(max-width: 300px) 100vw, 300px" />¡Listo! Graba (? + S) y cambia entre dispositivo y simulador un par de veces. Parece que XCode no refresca bien el cambio. Ahora, ya puedes probar con la 4.2.1 en el Simulador y en tus dispositivos.</p>
<p>P.D.: Jorge me avisó en <a href="http://twitter.com/#!/jdortiz/status/7430352322691072">este Tweet</a> de que alguien ya había escrito algo sobre este problema, pero 1) está en Inglés y 2) no está tan mascadito. ¡Espero que os sirva!</p>
]]></content:encoded>
			<wfw:commentRss>/2010/11/24/usando-xcode-3-2-5-con-dispositivos-ios-4-2-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
