Parece ser que el iPhone 3G ya fue liberado a pocos dias de su lanzamiento por un grupo brasileño, que dice haber podido hacer una llamada insertando en el iPhone 3G una tarjeta de otra operadora. El proceso de momento no es muy sencillo, pues hay que modificar hardware para que acepte otras SIM.
Esto era algo que todos esperaban que ocurra pero no tan pronto, claro que Apple podría lanzar una actualización del software que anulara la liberalización, aún no se sabe pero según ha comentado la empresa, el precio por el que desbloqueen el iPhone 3G estaría entre 250 y 375 dólares… habra q ver que sucede.
Aunque la implementación de cierta funcionalidad en nuestros proyectos, por medio de código sigue siendo defendida por muchos, yo sigue manteniendo que para ciertas opciones es importante aprovechar las ventajas del editor de recursos Interface Builder.
Un ejemplo tan sencillo como la implementación de una acción para un botón en una vista de nuestro proyecto, con la consiguiente representación gráfica de tamaño, colores, texto del botón, etc, por medio de código sería algo como:
Esto mismo, podemos conseguirlo por medio del editor de recursos de una manera sencilla y bien organizada, con el consiguiente ahorro de ciertas lineas de código y dejando algo más limpio nuestro proyecto. Sigamos los pasos para ello desde un proyecto en blanco.
CREACIÓN DE UN PROYECTO DE TIPO WINDOW BASED APPLICATION
Tras la creación de nuestro proyecto, agregamos una nueva vista a nuestra ventana, y a continuación le cambiamos de nombre para posteriormente crear los ficheros necesarios para nuestra clase que gestionará los posibles eventos que se produzcan en ella.


Agregamos un botón a la recién creada vista.

Asignamos a nuestra vista una nueva acción para controlar cuando pulsemos dicho botón.

Para finalizar conectamos esa acción con nuestro botón y nos ofrecerá una lista de eventos, donde tendremos que elegir en que evento lanzaremos dicha acción de nuestro botón. Para hacerlo cuando lo pulsemos, se suele seleccionar el evento Touch Up Inside.

Con estos pasos ya tenemos listo nuestro fichero de recursos y preparado para guardar nuestra vista con la acción de pulsación de botón en sus ficheros correspondientes. Lo hacemos mediante la opción de menu File / Write Class File. Asignamos un nombre a nuestra clase y lo guardamos en el directorio Classes de nuestro proyecto.
Veremos que nos ha generado la función (Pulsame) que será llamada cuando pulsemos nuestro botón.
Con esto hemos conseguido definir ciertas funciones que no sean de gran complejidad en nuestro fichero de recursos.

Queremos presentarte una iniciativa que vamos a llevar a cabo en iPhoneSoftware.
Hace algunos días que publicamos una opción en el blog para realizar donaciones las cuales nos ayudarán a seguir adelante. Tras dicha publicación y habiendo recibido la primera donación de 15€ de parte de un inesperado benefactor, hemos pensado que como no nos va a quitar de trabajar, vamos a invertir el dinero que recibamos en una interesante propuesta.
Se trata de realizar un concurso de aplicaciones nativas para iPhone, donde el ganador recibirá un buen regalo relacionado con el dispositivo de Apple.
El objetivo del concurso es animar a la gente a presentarnos sus trabajos y de forma directa ayudar al resto de usuarios a seguir aprendiendo. Consideramos muy importante que lleveis a termino un proyecto completo de principio a fin, para que apliqueis todo lo que habeis aprendido y además asimileis el potencial de los conocimientos que vais adquiriendo. El mejor proyecto, valorado y votado por los 3 integrantes de iPhoneSoftware recibirá un bonito premio que en breve presentaremos y además publicaremos un artículo íntegro a su trabajo.
Lógicamente, ninguno de estos integrantes del blog podrá presentarse de forma directa ni indirecta a dicho concurso.
Una vez publicadas las bases del concurso tendreis un mes para desarrollar vuestra aplicación y presentarla. Tiempo de sobra ya que la aplicación que propondremos será sencilla.
Durante el concurso, seguiremos respondiendo en el foro a consultas y dudas que nuestros usuarios nos realicen, pudiendo hacerlo mediante mensajes privados para que ningún otro usuario conozca las ideas de los demás.
Una vez finalizado el mismo, y habiendo hecho entrega del premio y de la publicación de un artículo detallando las características del proyecto ganador, procederemos a publicar todas las consultas que nos hayan realizado mediante mensajes privados, como si de mensajes normales del foro se tratase, con la idea de ofrecer una buena fuente de información a todos los usuarios.
Si la idea te resulta atractiva para darte a conocer, y te parece justo ayudarnos mediante alguna donación a promover iniciativas de este tipo, te agradecemos tu apoyo y estaremos encantados de conocer tu opinión.
Proximamente publicaremos las bases del concurso y la fecha de inicio del mismo.
¿Que os parece?
[poll id="1"]

Mas suerte que el que escribe, tendrán algunos de los casi 20 asistentes que podrán acudir a la Session CampusMac que el próximo 17 de julio se celebrará en Tarragona, de 16 a 19 horas.
El evento se llevará a cabo en la nueva Apple Premium Reseller MERCOR.
Será inevitable que se hable del nuevo dispositivo de Apple, nuestro querido iPhone y del nuevo servicio MobileMe.
Estaremos atentos si se produce algo interesante digno de contaros, cosa que no me extrañaría.
Cuando se piensa en crear un producto que vender, lo primero que tenemos que tener en cuenta es para quien va dirigido. Y un desarrollador para Iphone/Ipod Touch tiene dos maneras de verlo. Una de ellas es atender a el mercado o parte del mercado ya creado por Apple. Me explico: Previsiblemente para finales de año habrá aproximadamente entre Iphone e Ipod Touch sobre 30 o 40 millones de dispositivos en manos de los usuarios, y estos usuarios serán los destinatarios de nuestra aplicación y evidentemente tendremos que pensar en ellos a la hora de desarrollarla. No es un mercado excesivamente amplio, y si solo contemplamos el mercado en castellano será mucho menos. Además este mercado es un mercado de usuarios domésticos.
La otra posibilidad que tenemos es crear mercado, y para ello deberemos enfocar nuestra aplicación mucho más al mundo empresarial. En este caso nuestra aplicación deberá ser muy específica, brillante y robusta. Ya que, necesitaremos convencer a las empresas para que además de comprar nuestro software compren el dispositivo a Apple. Quizás sería necesario que Apple fomentará este tipo de venta de software puesto que la beneficia enormemente. Por ejemplo, si Apple no cobrará a los desarrolladores el 30 % del valor final de la aplicación si esa aplicación ha sido comprada antes de que pase una semana desde la compra del dispositivo. Es evidente que si una empresa compra 30 Iphone, inmediatamente también comprará la aplicación que tantas ventajas le dará y que ha sido la razón para comprar los Iphone.
A título personal diré que creo que es más lucrativo realizar aplicaciones que abran mercado, pero también es mucho más complicado desarrollar este software y conseguir venderlo. Pero se mire por donde se mire nuestra aplicación deberá estar en inglés y además en todos los idiomas posibles.

Como todos sabeis la AppStore fue lanzada con aproximadamente 500 aplicaciones, pero ya hay más. Con un vistazo rápido del menú de todas las aplicaciones y ordenandolas por fecha de lanzamiento, vemos los últimos lanzamientos, y hoy dia 13 de Julio han sido lanzadas 10 aplicaciones, y ayer día 12 de Julio, fueron lanzadas 9 aplicaciones.
A este ritmo en a penas mes y medio habrá más de 1000 aplicaciones.

Gracias al compañero pequenionoa, mientras charlábamos sobre iPhone, conocí uno de los ejemplos que Apple tiene publicado a través de la Web para desarrolladores de iPhone Dev Center. Todo vino a raíz de buscar una solución para conseguir el efecto que UINavigationController consigue al pasar de una vista a otra mediante el método pushView. (Efecto que hace que una vista se desplace hacia la izquierda y aparezca otra por la derecha).
El ejemplo en concreto es TransitionView y es de una gran sencillez y un resultado espectacular. Se basa en la clase CATransition y necesita de la inclusión del framework QuartzCore en nuestro proyecto.
Dicho ejemplo dispone de una clase TransitionView, bastante limpia y bastante facil de entender, la cual nos presenta dos métodos para realizar la transición entre vistas y para cancelarlas si se quiere:
- (void)replaceSubview:(UIView *)oldView withSubview:(UIView *)newView transition:(NSString *)transition direction:(NSString *)direction duration:(NSTimeInterval)duration;
- (void)cancelTransition;
Gracias al protocolo TransitionViewDelegate que reside en los mismos ficheros de la clase anterior, podremos controlar algunos eventos de la clase CATransition como animationDidStart y animationDidStop, para saber cuando se inicia y cuando finaliza dicha transición.
La llamada al método principal de esta clase, para simular el efecto de pushView se hará de la siguiente manera:
[transitionView replaceSubview:view1 withSubview:view2 transition:kCATransitionPush direction:kCATransitionFromRight duration:0.75];
Un ejemplo que me ha gustado mucho y que conviene tenerlo a mano.