Nunca más una excepción de Unrecognized Selector sent to instance En el curso de fundamentos de programación iPhone que imparto en @agbotraining, al tercer día vemos las notificaciones. Llegados a este punto, son muchos los alumnos que se estampan contra el mismo problema: la aplicación se les cae con una excepción del tipo: SigABRT terminating [...]
Literales para NSString Desde hace algún tiempo ya, siempre enseño en mis cursos de programación iPhone el uso de literales para las colecciones. Ahorran muchísimo trabajo y ya era hora que Objective-C se apuntase al siglo XX (aprovechando que algunos ya están en el XXI). Los literales más conocidos son los de siempre, los de [...]
En mis cursos de iOS, casi siempre tengo que introducir Objective C a programadores que jamás antes han usado un lenguaje dinámico. A menudo, provienen de Java, C# o C++. Siempre que lo hago, no puedo dejar de recordar el poema “La Pantera” de Rilke: Su mirada, cansada de ver pasar las rejas, ya [...]
Inicializadores en Objective C: algunos métodos son más iguales que otros Aun recuerdo la extrañeza que me produjo cuando descubrí que los inicializadores en Objective C no devolvían un puntero a la instancia en cuestión, sino un tal de id (un puntero genérico a cualquier objeto). Tardé un poco en percatarme (el libro no o [...]
Este artículo es parte de los 7 propósitos de año nuevo para desarrolladores. Backends de Terceros: Heroku, Twilio, Urban Airship, Parse, AWS y muchos más Hace no mucho, un conocido mío que vive en un pueblecito de Japón, se quejaba que sus familiares (que viven en EEUU) desconocían por completo el concepto de huso horario. [...]
Cuando hace falta usar auto synthesize para las propiedades y cuando no Desde LLVM 4.0, es decir, Xcode 4.4, ya no es necesario hacer el @synthesize para nuestras propiedades, lo cual se agradece y mucho. Esto no quiere decir que no podamos hacerlo, sencillamente pasa a ser opcional…casi siempre. Y aquí está el quid de [...]
Mostrar tweets en una UITableView y mucho más Llegó el momento que muchos habéis estado esperando. En esta tercera y última entrega vamos a terminar nuestro proyecto, implementando un controlador que muestre los tweets de nuestra timeline. Si recordáis, en la primera parte creamos el modelo de datos para la caché de nuestra timeline. En [...]
Pull to refresh Pull to Refresh es un tipo de interacción que Loren Brichter patentó en su cliente de Twitter “Tweetie”. Luego Twitter compró Tweetie, y supongo que ha licenciado la patente a Apple, porque iOS 6 incluye una implementación llamada UIRefreshControl. He aquí un ejemplo de su uso:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
-(void) viewDidLoad { [super viewDidLoad]; UIRefreshControl *refreshControl = [UIRefreshControl new]; [refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged]; refreshControl.attributedTitle = [[NSMutableAttributedString alloc] initWithString:@"Pulsa para refrescar..."]; self.refreshControl = refreshControl; } - (void)refresh:(UIRefreshControl *)sender { // ... código de refresco [sender endRefreshing]; } |
Lo que vemos es [...]
He creado una utilidad sencillita para inspeccionar los meta datos de ficheros de audio (wav, MP3, MP4, lo que sea) y pensé que el código podría ser interesante. Aunque es de linea de comandos, se podría aprovechar el código para una app gráfica. Utiliza AudioToolbox, una framework que incluye las funcionalidades más comunes de CoreAudio. [...]
Obtener tweets y sincronizarlos con nuestra caché de Core Data En la primera parte de esta serie de artículos vimos como crear el modelo de datos para nuestra timeline de Twitter. En esta segunda parte de la serie vamos implementar una clase que encapsule la funcionalidad de la timeline: obtener tweets y sincronizarlos con nuestra [...]
Core Data & Servicio Web: mejorando la experiencia de usuario Si abrimos la aplicación de Twitter para iOS, comprobaremos que muestra la timeline inmediatamente y, tras unos instantes, la actualiza con nuevos tweets. Si hacemos scroll para ver tweets más antiguos, es muy probable que la aplicación los muestre sin necesidad de hacer ninguna petición al servicio. [...]
El lujo de estar rodeado de “geeks” muy buenos Recientemente, me he dado cuenta que me encuentro en una situación privilegiada, y es que estoy literalmente rodeado de gente que sabe muchísimo. Autores invitados de CocoaMental Con el afán de que compartan su sabiduría con nosotros, los mortales, he decidido crear una sección de autores [...]
OpenGL Es un API de C para producir gráficos 3D y existe desde 1992. Desde entonces, el hardware gráfico ha cambiado mucho y en OpenGL aun hay muchas antiguallas que hoy son inútiles y sub-óptimas. En general es difícil encontrar una fuente de información moderna sobre OpenGL en internet. Parte de OpenGL se [...]
Siempre un placer estar en Colombia con el curso de programación iOS para iPhone & iPad Hace poco que estoy de vuelta a Madrid después de un curso de programación iOS (iPad & iPhone) en Bogotá. Como siempre, ir a Colombia es un placer, si exceptuamos los primeros días que pasas semiasfixiado por la falta [...]
El vibrante ecosistema de startups y tecnología en Colombia Hace un par de días que estoy en Bogotá, para impartir un curso de desarrollo iOS (iPhone & iPad) en las instalaciones del HubBog al cual acudirán tanto empresas locales, desarrolladores individuales, empresas de Panamá y universidades de Ecuador. Nuestro curso ha tenido una gran aceptación [...]
Letterbox & AutoLayout El próximo 28 de Septiembre se pondrá a la venta en España el iPhone 5. Como sabéis, el iPhone 5 aumenta su pantalla hasta las 4 pulgadas con una resolución de 640×1136 pixeles. con lo cual habrá que adaptar nuestras apps a estas dimensiones, letterbox y layout se presentan como buenas alternativas [...]
Curso iOS en Telefónica I+D, además como adaptar App al iPhone 5 Aunque escribo esto desde Bogotá, la semana pasada estaba en Madrid en la sede de Telefónica I+D impartiendo un curso de iOS para una grupo mayoritariamente androidero. Ardua tarea, la de llevar la la Palabra de Jobs a los paganos… Cual no sería [...]
Un buen comienzo Ágaetis byrjun. Para los que tenéis el Islandés un poco olvidado, eso significa “un buen comienzo“. También es una canción del grupo islandés Sigur Rós que podreis escuchar en el video de abajo. Curso Programación iPhone y iPad Online El martes empezaremos al fin a grabar nuestro curso programación iPhone iPad [...]
Secretos Apple: Lo desconocido de main() Decían que cuando reproducías un LP de Heavy Metal al revés, se oían mensajes satánicos. Al parecer, esta técnica ha sobrevivido al fin del LP y sigue vigente en la era digital. De hecho entre los secretos Apple tenemos que, si depuras la ROM de un Apple II, verás fantasmas. [...]
Cursos iOS Madrid Una vez más, este fin de semana lo hemos dedicado a uno de nuestros cursos iOS Madrid de programación para iPhone y iPad, desarrollando una App Universal (iPhone & iPad) sobre Star Wars. Empezamos el viernes por la mañana con aquellos alumnos que quisieron acudir a la pre-formación gratuita sobre Programación Orientada [...]
Instalar Mountain Lion Lo mío con los leones es de maldición gitana. Tras mis trifulcas con Lion, decidí no instalar Mountain Lion el primero: que prueben los demás que ya está bueno de ser beta tester de software ajeno. Como no veía demasiadas señales de desesperación entre los nuevos montañeros, decidí dar el paso. Instalar [...]
Herramientas Programación iOS Ojo, este artículo actualiza y deja obsoleto a este otro. Mountain Lion & Xcode 4.4 La recomendación es siempre la misma: usa la versión más reciente estable. En agosto de 2012 esto significa Mountain Lion y Xcode 4.4. Si tu mac es relativamente reciente, lo más recomendable en estos momentos es usar [...]
Podcast WeDevelopers sobre WWDC 2012 Esto empieza a ser una tradición: cada vez que vuelvo de un viaje, me encuentro con @jablanco micrófono en mano. De esta vez no podía ser de otra manera, y el viernes pasado grabamos un podcast WeDevelopers sobre el WWDC 2012. No sé si sería por el calor o por la [...]
Hashes en Objective C Una de las cosas que despista los principiantes en Objective C y Cocoa es cómo encriptar datos y generar hashes en Objective C. Pues bien, ¡hay un artículo para eso! Mi antiguo Padawan @jrivasdu, hoy claramente Maestro Jedi, acaba de escribir un artículo sobre cómo generar hashes en Objective C, usando una [...]
Alternativas a NSLog: no hacen falta NSLog es una función muy usada pero a menudo poco entendida. Es muy común, cuando alguien quiere hacer un log a un fichero, crearse dos macros: una que usa fprintf() y otra que no hace nada. Se decide cual usar mediante una constante de depuración, de tal forma que en [...]
Buscamos instructor Cocos2D Estamos buscando un instructor Cocos2D chiflado por los juegos y con experiencia comprobada en Cocos2D. Si te interesa y eres lo bastante friki, ponte en contacto con nosotros, puedes ser nuestro próximo instructor Cocos2D. También puedes darme un toque en @frr149 o en cursos @ agbo.biz
Colaboración con Applesfera A partir de hoy, empieza mi colaboración con Applesfera como autor invitado. Iré escribiendo, de forma esporádica, artículos sobre temas de interés relacionados con iOS, Cocoa, Objective C y programación en general. Quisiera dar las gracias a Fernando Doutel (con quien tengo pendiente la madre de todas las feijoadas) y Pedro Aznar por [...]
Novedades en Cocoa Touch y Objective C en WWDC2012 Hay novedades bastante interesantes en Cocoa Touch Objective C WWDC2012 y algunas se pueden mencionar al ser públicas desde antes del WWDC. Literales en Objective C Por ejemplo, en Objective C, ya no sólo las cadenas tienen representaciones literales. Ahora también los diccionarios y los arrays [...]
Curso Entreprise iOS El lunes empezamos un nuevo curso de Enterprise iOS para un cliente empresarial. Se trata de ex-padawans que ya hicieron el curso básico hace un año y que buscan ahora profundizar en su camino hacía la iluminación. Aunque es para una formación “in company”, estamos pensando en ofrecer en el futuro este [...]



