domingo, 17 de octubre de 2010

Documento técnico de la semana

Coding Guidelines for Cocoa (Apple)

Guías para determinar la forma correcta de poner nombre a las clases, métodos, variables de instancia, funciones, constantes...

Conocer estas guías permite al programador entender mejor cual es la filosofía de Apple a la hora de nombrar los distintos elementos, lo que ayuda a la hora de intuir como debería llamarse algo o averiguar qué es lo que hace.

domingo, 29 de agosto de 2010

APIs Privadas

Hace tiempo un alumno me dijo que si la aplicación de inicio del XCode "Window Based Application" era un ejemplo valido de aplicación a modo de linterna. La verdad es que no lo había pensado con detenimiento. Tenía toda la pinta.

Hace poco me lo volvieron a preguntar, pero mi respuesta fue distinta. Puedes hacer que la pantalla se ponga blanca y que la luz ilumine... pero cuando estás a oscuras el brillo del iPhone en la configuración estandar se regula y baja (a menos luz, menos brillo es necesario para ver los contenidos). Luego realmente no es una linterna correcta. Debería encenderse más.

Y luego viene la búsqueda de la función para incrementar el brillo. La respuesta que veo en los foros es: "No se puede. API privada". Mi segundo pensamiento es "¿Stanza lo hace?". La respuesta es "No". Si analizamos Stanza, vemos que es capaz de cambiar el "brillo" de la parte de lectura, el de los controles no cambia. Ergo no cambia el brillo de la pantalla. Lo que hace (o lo que podría hacer) es variar el brillo de una vista. Por ejemplo, podríamos duplicar este comportamiento poniendo una capa negra detrás y variando la opacidad del elemento de lectura. Esto no afecta a los negros pero si a los colores claros. En el caso de la pantalla de texto blanco sobre fondo negro podemos hacerlo al reves.

En cualquier caso, en relación al brillo de la pantalla, solo podemos reducir la cantidad de luz que se emite. No aumentarla (no aumentarla más allá del brillo que tenga la pantalla configurado en ese momento, se entiende...).

Luego las aplicaciones de linterna deben funcionar igual. Es decir, no son tan prácticas como podría parecer... La solució podría estar en el flash del iPhone 4.


miércoles, 25 de agosto de 2010

aMahL's Pieces v1.1 publicado

Ya hace unos días que la versión 1.1 de aMahL's Pieces (por cierto, para quien no lo sepa aMahL es el nombre de mi blog "a Man and his LED").

Las descargar, si no me equivoco, rondaron las 250. Eso no es nada... pero bueno, sigamos con la filosofía de "mientras haya alguien que lo use, lo mantengo". La actualización ha tenido 35 actualizaciones o así en 2 días. Es decir, tendremos tercera parte. Pero primero habrá un parón para investigar posibilidades. La hoja de ruta es:
- Actualizar los screenshots de la web de iTunes
- Actualizar la web de las mis aplicaciones de iOS (realmente hacerla... que me pilló de sorpresa)
- Implementar las mejoras para la versión de iPhone
- Juego temporizado
- Modo fácil
- ¿Game Center?
- Preparar un nuevo puzzle y lanzar aMahL pieces 1.2 y de paso anunciar la versión para iPad
- Preparar un nuevo puzzle y lanzar la versión para iPad.

Hay otras aplicaciones pendientes de desarrollar, en mi libreta de proyectos para iOS hay... unos 8 proyectos apenas descritos. Y está también la versión del programa de tirar los dados, que ha vuelto a cambiar de rumbo.


lunes, 19 de julio de 2010

iPad!!

Ya tengo el iPad conmigo... al final la versión de 64Gb con 3G.

Aunque tal y como están las cosas ahora mismo no he podido ponerme a programar cosas para probarlas en el iPad. De cualquier forma, como en otoño versión 4 del iOS no se si merece la pena ponerme ahora mismo a hacer pruebas. Pero todo se verá en función del tiempo que me quede en Agosto (aún tengo que planificarme).

Por otra parte, tras el curso de programación para iPhone de la semana pasada, me han planteado ampliar la edición de Octubre-Noviembre con contenidos específicos para iPad. Veremos que se puede hacer... :D

viernes, 16 de julio de 2010

aMahL's Pieces v1.1 en fase de desarrollo



Estoy dando un curso de iPhone en Murcia y después de estar 5 tardes con el culo pegado a la silla repasando conceptos me quedó algo de tiempo para dedicarle a Pieces. Así que os dejo dos capturas que muestran las intenciones...

En general, sobre lo que estoy trabajando es:
- Una vista en la que podáis consultar la ilustración
- Que se pueda seleccionar otro puzzle (que los hago a mano en el photoshop... así que me cuesta un rato largo... :D)

La nueva ilustración, al igual que la anterior, es una de la viñetas de la serie "La página de los Sábado". En concreto, pertenece a una historias mudas que fueron publicadas sin color (en plan cine mudo) a finales de 2007 (si no me equivoco) y reeditadas a principios de 2008. He elegido otras de las dibujadas por Julio Nebot y coloreadas por mi. :D

viernes, 9 de julio de 2010

aMaHL's Pieces v1.0 en el App Store



Aún no he rellenado los papelajos para usar legalmente las imágenes promocionales para el App Store, pero ya he tramitado la aplicación.

No he tenido tiempo (no tengo vida... XD) para aplicar las sugerencias de los beta testers, porque quería tenerlo en el App Store antes de la semana que viene (en la que estaré en Murcia impartiendo un curso de introducción a la programación de aplicaciones para iPhone).

Os dejo el enlace que he visto en iTunes Connect. :D


Y en el App Shopper


Y unas capturas interesantes...

Hooray!

viernes, 21 de mayo de 2010

Dices v2.0


Replanteamiento de la idea original. Aún hay vueltas que darle, pero he cambiado el registro en tabla por un registro en un UIWebView que permite representar texto con formato.

Además, he incluido un sistema de control de jugadores, para saber por quién estás tirando los dados.

Lo que no me convence es el botón de "All", ni gráficamente ni en funcionalidad. Debería ser un botón que nos permitiera lanzar una tirada configurable.

También estoy pensando en incluir una pantalla de presentación. Todo llegará... :D


jueves, 20 de mayo de 2010

Puzzle (2)

Más screenshots...

Puzzle

Mientras he ido desarrollando el proyecto, he ido viendo diversos problemas y encontrando limitaciones en los modelos de gestión de los elementos. Ayer hice unas pruebas del sistema en el iPhone y el resultado fue satisfactorio. La gran sorpresa que me llevé fue el tema del multitouch, que permite arrastrar las piezas de manera independiente. Es algo que intuía pero que no tenía confirmado al no haberlo podido probar en el dispositivo (incompatibilidad de versiones de OS de desarrollo y en el terminal).


Algunos de los aspectos positivos y negativos que he encontrado son:
+ El sistema está basado las piezas, luego no necesito reprogramar para cambiar de puzzle (si necesito indicar el número de piezas)
+ He hecho que el sistema ajuste la posición de las piezas a una rejilla de 10x10 pixels, lo que hace más fácil disponerlas.
- Como la imagen de las piezas ha de ser cuadrada, hay una zona transparente.
+ La zona transparente ignora los clicks sobre ella.
- Los clicks se siguen haciendo sobre la zona transparente, aunque sean ignorados. Esto hace que las piezas tengan un tamaño mínimo para ser funcionales. Esto, visto de otra manera, consiste en que si las piezas colindantes solapan la central con zonas transparentes, estas zonas ignorarán los clicks pero no permitirá seleccionar la pieza central. D'Oh!
- Hay un delay entre que hacemos click en la App y vemos todo en pantalla. Tiempo de carga.

La idea original de hacer un puzzle con piezas cuadradas y temática infantil está más que superada. De hecho, las pruebas las hago con piezas "normales" como se ve en la captura. A pesar de eso, quiero que el motor sea más flexible.

martes, 18 de mayo de 2010

aMahL Puzzle Collection

Estoy trabajando a ratitos sobre un programa de iPhone para hacer puzzles.

De momento el programa detecta las piezas, permite moverlas y rotarlas y las ajusta a una rejilla. Hay muchas cosas que se me ocurren para mejorar el sistema, pero prefiero ir por partes y obtener un producto funcional.

La primera versión tendrá las piezas cuadradas y estará orientada a un público infantil.



sábado, 1 de mayo de 2010

Comicteca

Pequeñas modificaciones en mi sistema Comicteca. He utilizado expresiones regulares para identificar distintos aspectos de las entradas del Previews Parser para que se pasen automáticamente al formulario de añadir nuevos cómics. Con esto, lo que se gana es celeridad en el proceso general:
- Utilizar Previews Parser para identificar los elementos a pedir en el Previews de Diamond
- Utilizar Previews Parser para enviar los elementos a Comicteca de forma que Checklist los pueda utilizar.
- Utilizar Checklist para comprobar lo que llega y lo que no llega de lo pedido.

Faltaría un paso más, utilizar Comicteca para hacer la búsqueda de datos y portadas de manera más automática. Al final lo que se busca en Google es el título, el formato y una palabra clave relacionada con la editorial. De este modo, si busco un cómic de Marvel, es muy probable encontrarlo incluyendo 'marvel catalog' en la búsqueda. Si el cómic es de DC, entonces hay que incluir 'dccomics.com'. Eso suele funcionar. En cualquier caso, para los de Marvel sería más efectivo ir directamente a la página en la que se encuentran los productos para la fecha de publicación.



martes, 23 de marzo de 2010

More iPhone 3 development

Ya ha llegado el librico... 6 temazos de Core Data. Pero primero tengo a medias el Begining iPhone 3 Development que dejé en stan by mientras hago el curso de Stanford del que me quedan cerca de 16 lecciones. D'Oh!

lunes, 15 de marzo de 2010

A tumbos con el Core Data

Creo que ya entiendo bastantes cosas... pero hay algo que falla y no se como solucionarlo. Espero que cuando llegue el More iPhone 3 Development, tendré más información sobre el Core Data para el iPhone. De momento, el Learn Cocoa on the Mac puede resolver algún problema.

Hasta donde entiendo:
- Core Data es el sistema que usamos para conectarnos a las bases de datos. Es un wrapper.

Para extraer datos:
- Se generan contextos, que vienen a ser como las bases de datos
- Se generan entidades, que vienen a ser como las tablas
- Se generan predicados, que vienen a ser como las condiciones a cumplir
- Entonces generamos una consulta a la que asociamos una entidad y un predicado
- Al ejecutar la consulta, se obtiene un array de objetos con la estructura definida por la entidad y que cumplen el predicado.

Entidades / Managed Objects
- Las entidades vienen a ser la estructura y los Managed Objects las instancias con datos.

Para meter datos:
- Generamos una referencia a un nuevo Managed Object, dentro de un contexto, sobre el que establecemos los valores a guardar.
- Guardamos el contexto.

El problema es que el ejemplo en Begining iPhone 3 Development es bastante escueto. Hace uso de Core Data para guardar datos y recuperarlos, pero no utiliza más de una entidad y sólo tiene atributos no relaciones. Así que cuanto intento trastear con las relaciones es cuando revienta. Si que hace referencia a que hay dos formas de trabajar con las relaciones, una es cargarlas siempre y otra cargarla sólo cuando se requieren (lazy load).

Espero que el Learn Cocoa on the Mac no se aleje demasiado de lo que necesito, porque creo que son 3 temas de Core Data... :D

miércoles, 10 de marzo de 2010

Charla iPhone en la UPV

Hoy he asistido a una charla sobre iPhone en la UPV. La idea era ver las posibilidades de la plataforma en el entorno educativo y algunos aspectos técnicos sobre el entorno de desarrollo. Aun a sabiendas de que mucho de lo que me iban a contar ya lo sabía (entre otras cosas porque conozco a parte de la gente que me lo iba a contar...) nunca está de más asistir a este tipo de eventos por que siempre sales con algo nuevo.

En general, el estudio de la plataforma como complemento al estudio educativo me ha parecido correcto. El problema es la gente que ha asistido (algunos de ellos). Parece que les hayan obligado a asistir a algunos. ¿Por qué? Pues porque hay cosas que son discutibles pero hay cosas que no tiene sentido discutir.

Por ejemplo, se ha hablado de iTunes U. Y yo no se si se ha entendido lo que se pretendía transmitir, pero era bien sencillo:

- Plataforma de distribución de contenidos.
- GRATIS total para la Universidad y alumnos.
- Soporta PDF, MPEG y MP3
- Los contenidos se albergan en servidores propios, no en servidores de Apple.
- Puedes utilizar tus sistemas de control de acceso (cuentas de alumnos) para controlar el acceso a los contenidos.
- Apple solo te pide que generes contenidos (claro, solicitarlo para nada es tontería...)

No puedo entender como una persona (que sonaba un tanto exaltada, todo hay que comentarlo... no se si es el caso o no, pero a mi me ha dado esa impresión) decía que si esto iba en contra de la política de la Universidad y que si Poliformat tal y cual y que si se perdían los años de trabajo y que si era un sistema cerrado. Yo, con mis dos neuronas y media, entiendo que:

- Los contenidos "en Flash" que son solo video se pueden migrar a un formato MPEG sin problemas y que el formato MPEG dista más del concepto de "cerrado" que el de Flash (plataforma PROPIETARIA de Adobe...)
- iTunes U distribuye contenidos. NO vale para todas esas simulaciones multimedia en Flash... no es su cometido. No aporta interactividad.

En conclusión, que no entiendo el "Es el ogro Apple!! iPhone soporta Flash!! Quemémoslo!!" en el contexto en el que estaba siendo tratado.

Por otra parte, la propuesta de iTunes U, comparativamente me reporta la siguiente conclusión:

- El acceso a contenidos nuevos desde Poliformat, si no estás previamente conectado a Poliformat, pasa por recibir un correo, pasar al navegador, registrarte, buscar, descargar.
- El acceso a contenidos nueves desde iTunes U es automático. Se descargan tal cual enchufas el iTunes para cualquier otra cosa.

Pero eso no deja de ser una simple anécdota. La verdad es que la visión de las universidades americanas de un dispositivo que se ha expandido espectacularmente es mucho más afortunada que la que tenemos por estos lares. Por supuesto, no se trata de condicionar a los usuarios a adquirir una plataforma que va a costarles como poco 180€ (un iPod Touch, el phone-less iPhone), sino de ver el crecimiento que tiene este dispositivo y ofrecer un servicio anticipándose a la situación. No se si esa anticipación será realmente efectiva en nuestro país, puesto que no se hasta qué punto calará la manzana. Pero lo que si sé es que el iTunes se encuentra disponible para Mac y Windows, con lo que el espectro de usuarios potenciales de iTunes U tiene que rondar altas cotas en cualquier universidad de este país.

Después de las típicas alusiones a temas clásicos como "no tienes flash", "no tienes java" y las típicas respuestas de "a lo que te pese Flash no es un estandar web" y "una máquina virtual carga el sistema que de por si ya está optimizado" ha terminado la parte referente a contenidos potenciales de la presentación, no sin antes mostrar hasta que niveles se llega en las universidades estadounidenses en cuanto a oferta de servicios para iPhone OS.

Seguidamente se ha procedido a presentar los otros dos grandes conceptos de la reunión: generación y distribución. De todo esto, me quedo con unas cuantas aclaraciones sobre el proceso de aceptación de aplicaciones de Apple y otras sobre las herramientas de depuración del SDK. En general, la parte técnica ha sido menos técnica de lo que esperaba, pero ha sido provechosa.

En conclusión, ha sido entretenido. Hemos tenido las raciones fanboy y anti-apple que se podían esperar y se han puesto las cartas sobre la mesa de una manera efectiva. No ha sido eficiente en tanto que con un poco más de información (por parte de los ponentes), se podría haber adaptado la presentación a la audiencia. El mayor problema de este tipo de eventos es la predisposición negativa con la que asisten algunos, con un escepticismo tremendo fruto de la desinformación y la ignorancia sobre los dispositivos y el software.

lunes, 22 de febrero de 2010

Flash en el iPhone

Acabo de leer por encima un post en Cult Of Mac y he llegado a una curiosa conclusión. Tendré que revisar el post y pensar más sobre el tema, pero el caso es que existe una incompatibilidad clarísima y bastante importante para el uso de Flash en los sistemas basados en iPhone OS.

Cualquiera que haya programado un poquito en ActionScript (yo toco algo de la versión 2.0) sabe que cuando defines eventos puedes hacerlos en base al ratón o al teclado. Los eventos de teclado quedarían directamente descartados en los sistemas basados en el iPhone OS. No vas a reducir la pantalla a la mitad (más o menos) para hacer uso del teclado como interfaz de control... Pero los eventos de ratón tampoco son válidos. Es decir, tenemos eventos de ratón como el press y el release que podrían funcionar, pero la ausencia de un cursor en pantalla nos pone las cosas difíciles para hacer mouse over o mouse out. Es decir, nada de desplegar un menú cuando nos acercamos con el ratón. No hay ratón.

Con esto no quiero decir que no piense que Flash podría incluirse en el iPhone. De hecho, cuenta la leyenda que la versión CS5 de Flash incluirá una forma de exportar las aplicaciones de Flash a aplicaciones nativas de iPhone que podrán incluirse en el App Store. Será entonces cuestión del programador el adaptarse al sistema de entrada de datos táctil.

Es una reflexión bastante rápida a la que volveré cuando tenga más tiempo.

viernes, 19 de febrero de 2010

CS 193P Assignment 3

He terminado la lección 5 y el assignment 3 (al menos la parte obligatoria, faltarían los add-ons).

La verdad es que la cosa se complica por momento, y no se porqué... me atasqué en una parte que seguramente se habría solucionado con un "tienes que poner esa línea más arriba" y luego hay algunos comportamientos que no entiendo. Es decir, hay cosas que se inicializan y se destruyen sin que se loguee la información. Curioso.

En este punto de la "aventura" quizá haga falta parar un momento y aclararme con dos cosas. La primera es el modelo MVC a nivel práctico. Que hay dos o tres cosas que no acabo de ver porqué es necesario conectar en el Interface Builder. La otra sería un diagrama de flujo del proceso de carga/descarga de aplicaciones.

A ver si puedo hacer (o encontrar) alguna de las dos cosas y las pongo por estos lares.

jueves, 4 de febrero de 2010

CS 193P Lesson 2

Por fin he tenido un hueco y he terminado la lección 2. Me he dado cuenta de que estaba haciendo los ejercicios antes de las lecciones. :)

La lección 2 es bastante interesante porque remarca algunos conceptos puntuales que son importantes. Por ejemplo el tema de los selectores.

domingo, 24 de enero de 2010

Curso iPhone Programming RWTH Aachen University

Parece que el curso de la Universidad de Stanford no es el único disponible y gratuito... :D
Aunque no se si está en inglés...

URL: http://hci.rwth-aachen.de/iphone

EDIT: Lo bueno de estas cosas es que te las puedes descargar y ya las consultarás.

viernes, 22 de enero de 2010

CS 193P - Asignment1B - My solution

Aquí está mi solución para el Asignment1B.
Here is my solution for the Asignment1B.


CS 193P (1)

He comenzado hoy a seguir las clases diferidas del curso de programación de iPhone de la universidad de Stanford. Tras completar la primera clase, mis conclusiones son:
- Hablan bastante claro, es fácil seguirles.
- El software que usan no coincide con el que yo tengo (y yo tengo la última versión).
- El ejemplo que hacen, salvando las distancias de las versiones y el procedimiento para crear el controlador, no funciona de serie en mi versión de XCode (y lo he tenido claro desde el primer momento, porque faltarían cosas...) aunque a ellos les va perfectamente.

En las versiones más nuevas de XCode habría que cambiar:

int sliderValue = slider.value;

Por...

int sliderValue = [slider value];

Y:

label.text = [NSString stringWithFormat: @"%d", sliderValue];

Por...

[label setText: [NSString stringWithFormat: @"%d", sliderValue]];

Y con eso funcionaría. Estaba pensando en subir el archivo con el proyecto, pero no se donde guardar el archivo. A ver si encuentro algún sitio.

EDIT: Debe ser problema de algún parámetro de la configuración del proyecto, porque si descargas el proyecto de ejemplo y lo lanzas si que funciona a la primera. Pero si lo intento crear desde cero no me funciona con lo que dicen, si con mis modificaciones... Curioso. :)

EDIT: Mucho más interesante que la explicación, que no está de más para saber de que va el curso, son los ejercicios de la primera tanda. Pero está claro que hay que saber algo de objective-c para hacerlos. También los tengo hechos. A ver si abro una cuenta en rapidshare o algo así y los comparto...

miércoles, 20 de enero de 2010

Open GL vs. DirectX

Yo no tengo ninguna duda, pero si alguien las tiene, este enlace es interesante.

URL: http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX

EDIT: Mi elección indudable, por si alguien no lo sabe, es OpenGL... :)

Objective-C Pocket Reference


Recién recibido. Es mucho más pequeño (pocket) de lo que me esperaba, pero al pegarle un repaso por encima he encontrado mucha información muy útil. Todo lo que podría esperar de una referencia.

Incluye indicaciones sobre las diferencias entre compilarlo en los sistemas más importantes que lo soportan. Parece muy interesante. Mañana por la tarde tengo unas horitas reservadas para leerlo (son a penas 100 páginas) y saber qué ofrece y qué no.


domingo, 17 de enero de 2010

Acceso a los posts de Blogger desde PHP

En 15 minutitos he montado este snippet para acceder a los posts de Blogger conociendo el ID del blog correspondiente. No está muy depurado pero funciona. El código es este:

$blog_id['miblog1']='01234568901234567';
$blog_id['miblog2']='12345689012345678';
$blog_id['miblog3']='23456890123456789';

function dataURL($id) {
return 'http://www.blogger.com/feeds/'.$id.'/posts/default?max-results=1';
}

function getData($url)
{
if ($handle = fopen($url, 'r')) {
$content = stream_get_contents($handle);
fclose($handle);
return $content;
}
}

function printData($data){
$xml = new SimpleXMLElement($data);
echo $xml->title, '
';
echo $xml->entry->title, '
';
echo $xml->entry->content, '
';
echo $xml->entry->link[4]['href'], '
';
echo $xml->entry->published, '
';
}

foreach ($blog_id as $key=>$value)
{
printData(getData(dataURL($value)));
}

Con esto lo que hacemos es recorrer todos los IDs de blogs que hemos metido como variables al principio y representarlos en la pantalla. Si imprimimos y analizamos lo que devuelve la función getData($url), podemos revisar el XML para ver qué parámetros queremos. La función printData($data) representa los contenidos deseados. Si el contenido incluye código HTML es posible que haya que utilizar alguna función intermedia para hacer que dicho código funcione, porque lo que está almacenado en la base de datos serán entidades HTML en lugar de los '<' y los '>'.

Espero que sea útil para alguien. A mi me ha dado varias ideas de cosas que hacer... Para todo lo demás, consultar la API de Blogger.

NOTA: La URL que obtenemos es la clave en la que hay que especificar qué queremos obtener. En mi caso selecciona el último post publicado. Se puede experimentar con la URL directamente (hay más parámetros en el enlace de la API de Blogger) para ver distintos resultados.

viernes, 15 de enero de 2010

Aprendiendo a programar para el iPhone

En respuesta a una pregunta que me han hecho por correo...

Lo primero, como en todas las cosas, es darse cuenta de que no estás "programando para el iPhone" sino que estás "programando" - "para el iPhone". Es decir, lo primero es saber programar. Leer, copiar y pegar como un mono es algo bastante contraproducente a la larga.

Para aprender. Se puede empezar a saco con Objective-C, pero yo recomiendo empezar con C. Entre otras cosas porque Objective-C es un superset de C (lo amplia).

Para aprender a programar en C, recomiendo el libro The C Programming Language de Kernighan. Hay otro que no he revisado del todo pero tiene buena pinta, es Learn C on the Mac.

Luego está el tema del Objective-C, el siguiente gran paso. En mi caso, parto de la base de conocer las bases de la programación orientada a objetos desde el libro Thinking in C++, de Bruce Eckel. Que puede ser útil llegado el caso para Objective-C++. Pero si queremos entrar a saco en Objective-C, sin duda el Learn Objective-C on the Mac. Con esto, estamos en el buen camino para el desarrollo de aplicaciones para iPhone OS y Mac OS X.

El siguiente paso sería Beginning iPhone 3 Development. Con esto ya se pueden hacer cosas más que interesantes.

Estoy a la espera de tener algo más de tiempo para poder revisar algunas cosas, pero desde el recuerdo de lo que leí en los documentos recomendados de Apple, esta trayectoria aclara muchos conceptos que en dichos documentos se sobreentienden.

jueves, 14 de enero de 2010

Curso de desarrollo para iPhone

La Universidad de Stanford está publicando un curso gratuito en iTunes U sobre programación en iPhone 3.1.

Yo ya me he suscrito.

miércoles, 13 de enero de 2010

Plantillas para desarrollo

Varias plantillas muy interesantes para facilitar el trabajo previo de bocetado y desarrollo de las pantallas de la aplicaciones.

lunes, 4 de enero de 2010

Dices 2

Prueba superada...

Ahora ya está instalado en el iPhone de prueba y funcionando. He encontrado un fallo, la aplicación se ve mal cuando la ventana cambia su tamaño. Es decir, cuando estoy compartiendo Internet la pantalla pierde unos cuantos pixels y la posición de los elementos cambia automáticamente, solapándose algunos. Es una cosa a tener en cuenta...

Por lo demás, ha sido instalar la última versión del XCode + iPhone SDK y meterle el Provisioning Profile correspondiente... y ajustar el mismo profile en las opciones del archivo plist del proyecto.

domingo, 3 de enero de 2010

iPhone Developer Program

Ya estoy inscrito. Cuesta 79€ al año y da acceso a muchísima información, recursos y al App Store para subir aplicaciones y que se distribuyan (cuando sean aprobadas...).

Siempre he leído que puede tardar bastante tiempo, pero para mi (supongo que por ser inscrito como individuo y no como empresa) ha costado poquito. Lo solicité entorno a las 19:15 horas y a las 1:15 me di cuenta de que ya tenía el código de desarrollador en mi buzón de correo.

Ahora voy a intentar asociar mi iPhone al XCode como equipo de pruebas y a ver como se ve el Dices 2.

EDITADO: La versión de XCode que tengo instalada no soporta el Firmware de mi teléfono... así que me tocará descargar la última versión (Octubre 2009, si no me equivoco) a ver que pasa. Pero claro, 2.5Gb no me los voy a descargar con el iPhone, que me puedo morir del asco. Así que mañana por la mañana los descargaré desde una ADSL.

EDITADO: La obtención de un certificado de prueba para instalar la aplicación en un iPhone es un proceso sencillo pero, a pesar de estar supuestamente "bien documentado" y existir un asistente, está resultando un dolor. Los enlaces en la documentación no llevan a donde tienen que llevar, acceder al portal a través del enlace que envía Apple en el correo de aceptación en el programa. En segundo lugar, el asistente se me cuelga, por lo que no puedo utilizarlo, así que he optado por la línea manual...

EDITADO: Obtenido e instalado. Ahora, para probarlo, me falta descargar una versión de XCode que soporte mi firmware o cambiar el firmware de mi iPhone. Pero eso lo haré mañana...