Noticias, Aplicaciones, Jailbreak y Tutoriales de iPhone, iPad y iPod Touch

28

sep

Cómo conseguir la Ñ en el teclado con iOS 6

,

28 de septiembre de 2012 a las 10:37

Cómo conseguir la Ñ en el teclado con iOS 6

Es cierto que muchas veces que estamos escribiendo rápido, encontrar la letra Ñ en el teclado puede hacernos perder un tiempo (no mucho, la verdad), ya que tenemos que estar manteniendo pulsado la N para que nos aparezca la opción de la Ñ. Pero con la nueva versión, iOS 6, podremos hacer fija esta letra para escribir de manera mucho más rápida y cómoda.

Como podemos ver en el fotografía, el teclado es igual que siempre, sólo que la letra Ñ aparece en el lado derecho....

Leer Mas

,

24

sep

LEXCODE, interesante iniciativa para aprender programación de aplicaciones iPhone / iPad

,

24 de septiembre de 2012 a las 13:27

LEXCODE, interesante iniciativa para aprender programación de aplicaciones iPhone / iPad

Hace unos días llegaba a nosotros por parte de un lector de iPhone4Spain.com, una iniciativa que me causó especial atención.
Consiste en un Laboratorio Experimental de iniciación a la programación de aplicaciones iPhone y iPad, que pretende que los diferentes alumnos del Laboratorio, llamado por ellos LEXCODE, aprendan a desarrollar aplicaciones emprendiendo. Pretenden que todo dar salida a las ideas e ilusiones de los futuros desarrolladores, apoyándose en al fuerza del equipo....

Leer Mas

19

sep

Hoy llega iOS 6, compatibilidad y recopilación de novedades

,

19 de septiembre de 2012 a las 15:31

Hoy llega iOS 6, compatibilidad y recopilación de novedades

Hoy es 19 de septiembre, fecha en la que por fin veremos y usaremos iOS 6 y sus novedades. Posiblemente la fecha de lanzamiento sea a partir de las 19:00 hora española.

Con el lanzamiento inminente de iOS 6 hemos creido oportuno haceros una recopilación de información que seguramente os interesará si queréis actualizar y no habéis visto la información que hemos ofrecido a lo largo de los últimos meses.
¿Que novedades tiene?, ¿con que dispositivos será compatible y que funciones serán compatibles?...

Leer Mas

,

17

sep

Siri en español. Guía de instrucciones y funcionalidades del asistente personal

,

17 de septiembre de 2012 a las 23:01

Siri en español. Guía de instrucciones y funcionalidades del asistente personal

Muchos de nosotros ya hemos actualizado a iOS 6 y podemos disfrutar, por fin, de Siri en español.
Seguro que más de uno ya lo ha probado a fondo, pero como hoy en día surgen muchas preguntas que ponen un duda la verdadera funcionalidad de Siri, en esta entrada vamos a ver, en profundidad, de que es capaz Sirique podemos hacer con el asistente de Apple.
Sin duda, en mi opinión, hoy en día Siri está muy infravalorado, y con esta guía pretendo demostrarlo....

Leer Mas

, ,

10

ago

Tutorial, recuperar dinero de una aplicación en App Store

,

10 de agosto de 2012 a las 15:12

Tutorial, recuperar dinero de una aplicación en App Store

En alguna ocasión mas de un usuario ha podido comprar por error una aplicación de App Store o incluso puede darse el caso de que se haya sentido engañado con la compra u otros problemas.

Existe una forma para tratar de recuperar nuestro dinero y a continuación os indicaremos los pasos a seguir para conseguirlo...

Leer Mas

6

ago

Truco para fotos macro con iPhone y una simple gota de agua

,

6 de agosto de 2012 a las 17:35

Truco para fotos macro con iPhone y una simple gota de agua

Os traemos un curioso truco mostrado a través del blog (Tested) del programa de Discovery Channel llamado MythBusters (Cazadores de Mitos) en el que podemos conseguir espectaculares fotos macro sin comprar ningún accesorio con ninguna lente especial ni ninguna aplicación que simula el efecto.

Para conseguir este truco solo necesitamos un iPhone, un cuenta gotas y agua. Además de esto necesitamos tener pulso y paciencia...

Leer Mas

19

jun

Redsn0w se actualiza para bajar BaseBand 06.15.00 en iPhone 3GS y 3G

,

19 de junio de 2012 a las 15:48

Redsn0w se actualiza para bajar BaseBand 06.15.00 en iPhone 3GS y 3G

Como os comentemos hace tiempo, MuscleNerd estaba trabajando para conseguir bajar la BaseBand 06.15.00 de iPad en los iPhone 3GS y 3G. Recordemos que cuando se lanzó esta liberación que requiería subir al BaseBand del iPad y era el único método por software capaz de liberar los iPhone. Este método tenía distintos problemas no reversibles hasta ahora.

Años después se ha logrado bajar esa BaseBand de iPad pudiendo así poder actualizar de nuevo con versiones originales...

Leer Mas

11

jun

Reproducir FLAC en iTunes y dispositivos iOS como iPhone

,

11 de junio de 2012 a las 15:42

Reproducir FLAC en iTunes y dispositivos iOS como iPhone

Free Lossless Audio Codec (FLAC) es un formato muy extendido actualmente para los que quieren reproducir en dispositivos compactos audio en alta calidad. Este formato permite comprimir el tamaño del archivo sin perder calidad y es por tanto un formato muy popular en la actualidad.

Muchos usuarios por ello están interesados en el y desean tener su música en este formato en la biblioteca de iTunes así como tenerlo en sus dispositivos iOS. ¿Es posible hacerlo? La respuesta es si y os explicaremos mas sobre ello...

Leer Mas

20

may

Curso de Programación iOS. Clase 7: cómo utilizar la herramienta Storyboard

,

20 de mayo de 2012 a las 19:05

Curso de Programación iOS. Clase 7: cómo utilizar la herramienta Storyboard

Bienvenidos a la Clase 7 del Curso de Programación iOS de iPhone4Spain.

En esta clase vamos a hacer una introducción a una herramienta, integrada en Xcode, llamada Storyboard. Con ella podemos tener una visión general de la aplicación a través de sus escenas. Facilita la navegación entre escenas por lo que se trabaja de forma algo diferente a los ejercicios de clases anteriores.Es una herramienta muy potente y va a ser un punto de inflexión para el desarrollo de vuestras aplicaciones iOS.

Vamos a ver cómo sería el desarrollo de la aplicación de la Clase 6 con Storyboard para que veáis la diferencia entre utilizarlo o no.

Creamos un proyecto nuevo. File ->New->Project…

En esta ocasión, vamos a seleccionar un proyecto “Single View Application“.

El proyecto lo hemos llamado “Clase 7” y marcamos la opción del formulario “Use Storyboard“.

Eliminamos el “ViewController” que genera automáticamente, tanto en el esquema de ficheros como en el Storyboard.

El siguiente paso es añadir todos los ficheros que necesitamos para el ejercicio: “ListViewController” que es subclase de “UITableViewController“, “DetailViewController” subclase de “UIViewController” y “ModalViewController” subclase de “UIViewController“. En esta ocasión, cuando insertamos los ficheros, no tenemos que seleccionar la opción “With XIB user interface” porque añadiremos las interfaces de usuario en el Storyboard.

Todos los ficheros que hemos insertado al proyecto los ordenaremos en carpetas.

Hemos de tener creada la estructura de ficheros que mostramos en la siguiente imagen.

Abrimos el Storyboard y añadimos las interfaces de usuario.

Agregamos el componente “Navigation Controller“. Puede que os aparezca junto con un “ViewController“. En ese caso, borramos el “ViewController” y añadimos un “TableViewController“. Ahora, enlazamos con el botón izquierdo del ratón + Ctrl el “Navigation Controller” y el “TableViewController” y seleccionamos “Relationship – Root View Controller“.

En la propiedad “Class” del “ViewController” seleccionamos “ListViewController“, de esta manera le decimos que es la interfaz de “ListViewController“.

Seleccionamos la celda del “ListViewController” y, en la propiedad “Identifier” le ponemos el nombre de “Cell“.

Añadimos un “Bar Button Item” a la “Navigation Bar” y seleccionamos “Add” en el “Identifier” del “Bar Button Item“.

Agregamos dos “ViewController“, uno para “DetailViewController” y otro para “ModalViewController“. Insertamos en los “ViewController” los componentes necesarios para tener el mismo resultado que en la Clase 6.

Enlazamos los “ViewController” al “ListViewController” para hacer la navegación de la aplicación.

Primero enlazamos “ModalViewController“. Como vamos a mostrar la escena cuando le demos al botón “+“, pulsamos el botón izquierdo del ratón + Ctrl y lo arrastramos hasta el “ModalViewController“. Seleccionamos el tipo de transición “Modal“.

Vamos a enlazar “DetailViewController“. En este caso, vamos a enlazarlo desde la celda del “TableView” y seleccionamos el tipo de transición “Push“.

El Storyboard ha de tener el siguiente aspecto.

Puntos a tener en cuenta en el Storyboard:

  • Enlazar la escena del Storyboard con la clase a la que pertenece.
  • Poner identificador al enlace creado para poder acceder a él.
  • Cuando trabajamos con Storyboard no es necesario editar el fichero “AppDelegate.m” para arrancar desde alguna escena.

Empezamos la edición de ficheros con “ModalViewController.h”. Vamos a declarar el “delegate” con un método que es obligatorio que esté implementado en la escena padre.

El método es “newContact” y es el encargado de agregar un contacto nuevo al listado.

Declaramos el objeto “delegate”, dos “IBOutlet” para los “UILabel” (uno para “nameTextField” y otro para “surnameTextField”) y dos “IBAction” (“saveNewContact” y “cancelNewContact”).

Abrimos el fichero “ModalViewController.m” y añadimos los @synthesize de “delegate”, “nameTextField” y “surnameTextField”.

Lo último que haremos en la edición del fichero es programar los métodos que harán la funcionalidad de dar de alta a un nuevo contacto y cancelar el alta del nuevo contacto.

Abrimos ahora el fichero “DetailViewController.h” en el que declaramos un “NSDictionary”, en el que guardaremos la información de la fila seleccionada, y Dos “IBOutlet”, con los que mostraremos la información por pantalla.

Una vez declarado todo lo que necesitamos en el “DetailViewController.h”, abrimos el fichero ”DetailViewController.m”. Como siempre, lo primero que haremos será hacer @sinthesize de todos lo objetos declarados en “DetailViewController.h”.

Buscamos el método “viewDidLoad” y añadimos el título de la escena, además de rellenar los “IBOutlet” con la información de la celda seleccionada.

Por último, tenemos que programar los ficheros “ListViewController.h” y “ListViewController.m”.

Abrimos el fichero “ListViewController.h” e importamos “ModalViewController.h” para que “ListViewController” pueda soportar el “delegate” de ModalViewController. También declaramos la estructura donde guardaremos la información de la lista. La hemos llamado “items” y es un objeto de la clase “NSMutableArray”.

Ahora vamos a editar el fichero “ListViewController.m”. Importamos “DetailViewController.h” y “ModalViewController.h”. Declaramos el @sinthesize del objeto “NSMutableArray” “items” que hemos declarado anteriormente en el fichero “ListViewController.h”.

En el método “viewDidLoad” inicializamos el objeto “items” y añadimos un título a la escena, nosotros le hemos llamado “Contactos”.

Ahora vamos a insertar en la “UITableView” los datos asignados, anteriormente, a la “NSMutableArray”. Para hacer esto, hay que modificar 3 métodos:

  • numberOfSectionsInTableView: En él indicamos el número de secciones que vamos a tener en nuestro listado.
  • numberOfRowInSection: En este método vamos a indicar el número de filas que tendrá una sección.
  • cellForRowAtIndexPath: Es el método donde configuraremos la fila en cuestión para que se muestre la información deseada.

Creamos el método obligatorio que ha de contener “ListViewController” debido a la declaración del “delegate” de “ModalViewController”. La función que ha de desempeñar el método es la de añadir el objeto “item”, que recibe de “ModalViewController”, a la lista “items”.

Ahora, vamos a hacer un método, en el cual vamos a discriminar los dos enlaces creados en el Storyboard. Este método es por el que tenemos que poner un “Identifier” en cada transición.

El método será el encargado de pasar la información de una escena a otra con la propiedad “segue.destinationViewController”.

El último paso es enlazar todos los objetos que tienen funcionalidad con los diferentes “IBOutlet” y “IBAction”.

Para finalizar la aplicación, vamos a enlazar los componentes con sus métodos u objetos correspondientes.

Como venimos repitiendo en algunas clases de este tutorial, para enlazar un objeto del “XIB”, simplemente, arrastramos el ratón con la combinación Ctrl + botón izquierdo desde el origen al destino. En el caso de los “IBOutlet”, desde “File’s Owner” hasta los componentes de texto, y en el caso de los “IBAction” el proceso de enlace es al revés, desde el componente al “File’s Owner”.

Probamos el funcionamiento de la aplicación.

Con esta clase terminamos el Curso de Programación iOS.

Quiero agradecer a todos los que habéis seguido el curso porque ha sido muy gratificante leer todas las dudas generadas y las muestras de apoyo que nos habéis dado.

Esperamos que este curso os haya sido de gran ayuda para iniciaos en el mundo de la programación de aplicaciones móviles.

Un saludo!!!

...
Leer Mas

14

may

Tutorial, como hacer downgrade a iOS 5.0.1 con Redsn0w en iPhone 4S

,

14 de mayo de 2012 a las 15:52

Tutorial, como hacer downgrade a iOS 5.0.1 con Redsn0w en iPhone 4S

Trás la actualización de Redsn0w para  elaborar Custom Firmware con los SHSH obtenidos con TinyUmbrella os ofrecemos un sencillo tutorial con el que poder realizar un downgrade o bajada de versión con nuestros SHSH.

Principalmente recomendamos el método para dispositivos como iPhone 4S, iPad 2 o Nuevo iPad ya que para los anteriores dispositivos recomendamos usar el tutorial de iFaith....

Leer Mas

,

8

may

10n1c muestra Jailbreak de iOS 5.1.1 en su Nuevo iPad

,

8 de mayo de 2012 a las 14:56

10n1c muestra Jailbreak de iOS 5.1.1 en su Nuevo iPad

El hacker 10n1c, tras las disputas con Pod2G y otros miembros de la scene hace poco, publica una imagen de su Nuevo iPad con Jailbreak en iOS 5.1.1.

Esta noticia nos indica que al menos su método sigue funcionando en iOS 5.1.1 y por tanto es muy probable como esperábamos, que los exploit que encontró Pod2G sigan funcionando por lo que finalmente veamos directamente el Jailbreak Untethered en iOS 5.1.1...

Leer Mas

2

may

Un truco de iOS 5, captura fotos remotamente

,

2 de mayo de 2012 a las 13:09

Un truco de iOS 5, captura fotos remotamente

Con la salida de iOS 5 ya os enumeremos las nuevas funciones y trucos que podíamos realizar sobre iOS 5.

Hoy os recordamos a los que aún no lo sepan un nuevo truco que entonces no conocíamos. La posibilidad de realizar fotos remotamente sin necesidad de instalar nada adicionalmente, es una función integrada de iOS 5 como muchas de las otras que hemos comentado en otras ocasiones...

Leer Mas

30

abr

Curso de Programación iOS. Clase 6: insertar elementos en UITableViewController

,

30 de abril de 2012 a las 23:08

Curso de Programación iOS. Clase 6: insertar elementos en UITableViewController

Bienvenidos a la Clase 6 del Curso de Programación iOS de iPhone4Spain.

En esta clase, veremos cómo añadir información en un objeto de la clase “UITableView” entre distintas escenas a través del patrón “delegado” (delegate). La utilización de este patrón nos ayudará a, en un momento dado, reorganizar las escenas sin que esto suponga algo muy laborioso ya que el patrón “delegado“ hace que el padre sólo contenga aquellos métodos que el hijo necesita.El ejemplo que vamos a explicar en esta clase, consiste en una “UITableView” en la que podemos añadir celdas con información previamente añadida. También tendremos acceso a un “UIViewController” donde se mostrará el detalle de la celda seleccionada. Cargaremos datos en la “UITableView” desde un “NSMutableArray”.

Creamos un proyecto vacío, lo vamos a llamar “Clase6”.

Una vez se ha generado todo el proyecto agregaremos los ficheros “Objective-C class“.

En el ejemplo de hoy tenemos dos “UIViewController” que las hemos llamado “DetailViewController” y “NewElementViewController“. También agregamos un “TableViewController” que lo hemos llamado “ListViewController“.

La estructura de ficheros de nuestro programa tiene el siguiente aspecto.

Abrimos el fichero “AppDelegate.m”. Creamos el objeto de la clase “ListViewController”, también creamos un objeto de la clase “UINavigationController” y lo inicializamos con “initWithRootViewController” al objeto “ListViewController” anteriormente creado. Asignamos el objeto “UINavigationController” a “rootViewController” para que sea la escena que se abra cuando arranquemos la aplicación.

Abrimos el fichero “NewElementViewController.h”. Declaramos el protocolo “NewElementDelegate”. En él se pueden declarar métodos que puede o tiene que llevar la clase padre de “NewElementViewController”, en este caso “ListViewController”. Indicamos, con el siguiente código, que “ListViewController” tiene que llevar implementado el método “newContactDidChanged” ya que, al no indicar nada. Al no definirlo con @optional, por defecto es @require. También se puede definir como @require pero el efecto sería el mismo.

Dentro de “@interface NewElementViewController” declaramos tres propiedades: La primera es el propio “delegate”, la segunda y la tercera son dos “IBoutlet” de la clase “UITextField”. Seguidamente declaramos dos “IBAction”, “saveNewContact” y “cancelNewContact”, que se encargarán de hacer la funcionalidad de los botones cuando éstos sean pulsados.

Una vez hecho el paso anterior, el siguientes es abrir el fichero “NewElementViewController.m” y hacer “@synthesize”  de todos los objetos declarados en el “NewElementViewController.h” para que el compilador genere el código para crear los métodos accesorios para sus propiedades.

Ahora implementamos los métodos, “saveNewContact” y “cancelNewContact”, anteriormente declarados en “NewElementViewController.h”.

El método “saveNewContact” guardará los datos introducidos en los dos “UITextField” en el objeto “NSMutableDictionary” que creamos al entrar en el método. Una vez hecho esto saldrá de la escena con la propiedad “dismissModalViewControllerAnimated”.

El método “cancelNewContact”, simplemente saldrá de la escena modal con la propiedad  “dismissModalViewControllerAnimated”.

En el “NewElementViewController.xib” y enlazamos, tanto los “IBOutlet” con los “UILabel” correspondientes, como los “IBAction” con los “UIButton” correspondientes.

Vamos ahora a modificar el fichero “DetailViewController.h”.

En él vamos a declarar tres @property:

  • NSMutableDictionary item” -> contendrá la información de la fila seleccionada de la “UITableViewController”.
  • IBOutlet UILabel nameLabel” -> en el que guardaremos el nombre del contacto seleccionado de la lista.
  • IBOutlet UILabel surnameLabel” -> en el que guardaremos el apellido del contacto seleccionado de la lista.

Abrimos ahora el fichero “DetailViewController.m” y hacemos @synthesize de las @property que hemos declarado en el fichero “DetailViewController.h”.

Buscamos el método “viewDidLoad” y asignamos a la propiedad “text” de los “IBOutlet” cada uno de los campos que el objeto “item” tiene.

En “DetailViewController.xib” hay que enlazar los “IBOutlet” con sus correspondientes componentes.

En el fichero “ListViewController.h” vamos a declarar una @property, “items”, donde almacenaremos todos los datos de la lista. Además, vamos a declarar un “IBAction”, el cual será el encargado de abrir la escena de en la que añadiremos contactos a la lista.

Abrimos el fichero “ListViewController.m”, importamos “DetailViewController.h” y “NewElementViewController.h”, y hacemos @sinthesize de la @property declarada en “ListViewController.h”.

En el método “viewDidLoad” tenemos que inicializar el objeto “items”, le vamos a poner un título a la escena “ListViewController” y creamos un “rigthBarButtonItem” el cual ejecutará el método declarado anteriormente “addElement”.

Ahora vamos a insertar en la “UITableView” los datos asignados, anteriormente, a la “NSMutableArray”. Para hacer esto, hay que modificar 3 métodos:

  • numberOfSectionsInTableView: En él indicamos el número de secciones que vamos a tener en nuestro listado.
  • numberOfRowInSection: En este método vamos a indicar el número de filas que tendrá una sección.
  • cellForRowAtIndexPath: Es el método donde configuraremos la fila en cuestión para que se muestre la información deseada.

Al arrancar la aplicación no habrá ningún dato en la lista, por lo que primero tenemos que añadir un contacto.

Implementamos el método “IBOutlet” “addElement”, en el que mostraremos la escena modal.

También hay que implementar el método “newContactDidChanged” en el que asignamos los nuevos contactos a la lista y actualizamos el “UITableView”.

Por último, vamos a “ListViewController.xib” y enlazamos todos los “IBAction” y “IBOutlet“.

Ejecutamos y comprobamos el funcionamiento de la aplicación.

La clase de hoy y la última, que será publicada el lunes 7 de mayo, no tendrán ejercicio propuesto. De esta manera podréis aprovechar y repasar las clases anteriores del curso. Intentad combinar los ejercicios vistos con anterioridad para practicar.

Un saludo y hasta la próxima clase!!!

...
Leer Mas

28

abr

Tutorial: Cómo transferir contactos desde un Android hasta un iPhone

,

28 de abril de 2012 a las 19:41

Tutorial: Cómo transferir contactos desde un Android hasta un iPhone

Si actualmente tienes un Android, pero quieres hacerte con un iPhone, existe un pequeño problema que muchos no saben solucionar y llena de dudas al usuario, ¿Qué pasará con mis contactos del teléfono? ¿Se borrarán? ¿Los tengo que pasar uno a uno al iPhone cuando encienda este?
Estas y otras dudas os las explicaremos en este pequeño tutorial en el que os comentaremos los pasos que debemos seguir para transferir nuestros contactos y calendarios desde un Android a un iPhone....

Leer Mas

Página 3« Ir a Primera...234...