UNIVERSIDAD DE COSTA RICA SEDE CENTRAL RODRIGO FACIO. Facultad de Ingeniería: Escuela de Ciencias de la Computación e Informática

Documentos relacionados
Unidad II. Interfaz Grafica

Desarrollo de Aplicaciones Web Por César Bustamante Gutiérrez. Módulo I: Conceptos Básicos Tema 1: Concepto iniciales.

Prototipado y ejecución de aplicaciones SD con GeneXus

GUÍA DE INSTALACIÓN Y USO PISIS CLIENTE

Puesta en producción de aplicaciones móviles con GeneXus

Actualización de versión a Bizagi 10.x

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Unidad I. Introducción a la programación de Dispositivos Móviles (Continuación )

CENTRO DE INVESTIGACIÓN CIENTÍFICA Y DE EDUCACIÓN SUPERIOR DE ENSENADA, BAJA CALIFORNIA Departamento de Cómputo / Dirección de Telemática ÍNDICE

Sistema de Mensajería Empresarial para generación Masiva de DTE

Se trata de una herramienta de desarrollo visual muy fácil de usar, con la que incluso los no programadores podrán desarrollar sus aplicaciones.

SISTEMA ETAP en línea Estándares Tecnológicos para la Administración Pública

SISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060

Instituto Tecnológico de Costa Rica

Módulo 2. Inicio con Java

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

iphone & ipad Programación ios SDK Curso Monográfico 50 horas

Servicios ios. Sesión 1: iad, AdMob e In Apps. Experto en Desarrollo de Aplicaciones para Dispositivos Móviles

DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA INSTITUTO TECNOLÓGICO DE CD. VALLES MANUAL DE USUARIO

Manual del Profesor Campus Virtual UNIVO

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Manual de Usuario del Sistema RECIBOS DE HABERES UNLu Contacto:

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

PREGUNTAS FRECUENTES SOBRE LOWESLINK DE LOWE S MÉXICO

protección y replicación remota de datos... dib backup remoto GARANTÍA DE CONTINUIDAD DE NEGOCIO ante cualquier contingencia de pérdida de datos

Guía de uso de Moodle para participantes

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Tabla de contenido. Manual B1 Time Task

INSTRUCTIVO PLATAFORMA ITM VIRTUAL itmvirtual.itm.edu.co

Mapas colaborativos en línea

MATERIAL 2 EXCEL 2007

GUÍA DEL ADMINISTRADOR DE TI

REQUERIMIENTOS NO FUNCIONALES

Preguntas Frecuentes. Plataforma ScienTI. Aplicativos CvLAC y GrupLAC

Procedimiento de arranque de Aula Virtual Santillana: alumnos

Guía de usuario del Administrador CPA BT icomms

Cadena de Palabras Manual de usuario

Ejecutar el instalador y seleccionar los paquetes necesarios. En nuestro caso son los siguientes: Android SDK Tools (ya vendrá instalado) Android SDK

Implantar el iphone y el ipad Apple Configurator

Plataforma Interactiva "In Time" Para Instituciones Educativas

CAMBIAR CUENTA ITUNES A USA

FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B

Para tener una visión general de las revistas de estadística, ir a:

CATALOGOS DIGITALES INTERACTIVOS - CDI. Tu plataforma virtual de negocios. contacto@kioo.cl - (56)

Sesión No. 2. Contextualización: Nombre de la sesión: Paquetería ASPEL - COI PAQUETERÍA CONTABLE

Manual de configuración de navegadores para el uso de componentes Java

Guía rápida Factura Electrónica Versión para proveedores de Sacyr

Retrospect 9 para Mac Anexo de la Guía del usuario

Análisis de aplicación: Geany

Centro de Capacitación en Informática

Elementos requeridos para crearlos (ejemplo: el compilador)

DG.CO.P00.E03-Manual de Usuario Carpeta Ciudadana

MANUAL DE USUARIO TARIFICADOR SIPTAR Y REPORTES SIPTAR.

PLATAFORMA ONLINE DE VIDEO ENTREVISTAS. Manual Empresa

Proceso Transaccional

Introducción a Visual Studio.Net

Análisis de esquemas XML [1]

RESERVACIONES ONLINE MANUAL DE REFERENCIA

WORD E INTERNET YERMAN ESTEBAN MURILLO CALDERÓN BLANCA NUBIA CHITIVA INSTRUCTORA

PROYECTO SAGA ENDESA, CHILECTRA, ENERSIS Y FILIALES LATAM MANUAL DEL PROVEEDOR

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO S E C R E T A R Í A G E N E R A L Dirección General de Cómputo y de Tecnologías de Información y Comunicación

MANUAL PLATAFORMA SMSWORLD

Acceso al Disco Compartido y Dispositivos USB y DVD

Manual de usuario Sucursal Virtual

CIMA. MANUAL DE USUARIO

Instructivo de inducción al aula virtual. Blackboard

Luis Eduardo Barón Bienvenidos al Módulo N. 3 de Internet Para Emprendedores. Yo soy Luis Eduardo Barón. Álvaro Mendoza Y yo soy Álvaro Mendoza.

Como crear una app gratis para tu negocio con Appmakr

Entorno de Desarrollo

Estructura "Portal Caib". Documento diseño

HP Backup and Recovery Manager

Programa de Elaboración de Reportes de C.A.F.E. Practices Guía de Referencia para Inspectores V1.1

S I S T E M A E N L Í N E A

BROKERMovil Online para SmartPhone Guía Rápida v1.0

GUÍA DE CONFIGURACIÓN PC PARA HACER USO DE LA SEDE ELECTRÓNICA DEL CABILDO DE GRAN CANARIA

CAPÍTULO III MARCO TEÓRICO. Cada día cambian las condiciones de los mercados debido a diferentes factores como: el

Manual de uso para autoadministrar Pixtoome

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Guías de ayuda para la configuración de la privacidad y seguridad de las redes sociales

TEMA 1 INTRODUCCIÓN A OPENOFFICE IMPRESS

MANUAL PARA CREAR USUARIOS. Guía para crear, desactivar e inmovilizar Usuarios de Salesforce

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

Guía para realizar trabajos universitarios

Cátedra de Cardiología

MANUAL DE USUARIO APLICACIÓN ADT GO MIRA LO QUE PASA EN TU CASA O NEGOCIO CUANDO NO ESTÁS.

Manual de adminitración web

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, Madrid

Aplicaciones Móviles Web Apps

Desarrollo de apps para móviles Android. Entorno de desarrollo

UML, ejemplo sencillo sobre Modelado de un Proyecto

Guías técnicas Grupo Danysoft: Aplicaciones Web seguras con ASP.NET

Sharpdesk V3.5. Guía de instalación: Edición con clave de producto. Versión 1.0

Manual del estudiante

GUÍA PARA MANEJAR GOOGLE DRIVE

Concepto de sistema operativo

Plataforma de Formación Online con Moodle!

CarFirma Firma electrónica del Gobierno de La Rioja Manual de usuario

TUTORIAL DIDÁCTICO Material recomendado. PICASA Crear un álbum de fotos compartido

Formación del Usuario Manual de Windows XP

Transcripción:

UNIVERSIDAD DE COSTA RICA SEDE CENTRAL RODRIGO FACIO Facultad de Ingeniería: Escuela de Ciencias de la Computación e Informática Documento de Investigación de ios CI-2354 Dispositivos Móviles Elaborado por: Hermes José Mora Abarca, carné: A84139 José Lo Cen, carné: A93416 Gregory José Obando Araya, carné: A94490 Profesor: Franklin García San Pedro, Montes de Oca, San José 30 de Octubre, 2012

Investigación de ios Nota general: el orden de los temas de las diapositivas es el mismo que este documento. Historia y versiones de ios Steve Jobs reveló su existencia 9 de enero del 2007. Su lanzamiento al mercado fue el 29 de junio de 2007. Esta versión incorporaba apps como Mail, Fotos, ipod, etc. No tenía nombre oficial hasta que se lanzó una beta con el nombre de iphone OS el 6 de marzo de 2008. En sus inicios, el Apple se centró en vender aplicaciones web donde se pudieran correr en el navegador nativo Safari. Con la aparición de aplicaciones nativas gracias al jailbreak se cambió el enfoque de las ventas. El 6 de marzo de 2008 se lanzó el kit de desarrollo para crear aplicaciones en el sistema operativo. Desde entonces junto con la aparición de la App Store empezó un auge con las aplicaciones móviles. Con llegada de ipad en el año 2010 se inició el auge de las aplicaciones basadas en contenido y la popularización de la tabletas. Durante los próximos años, el sistema operativo se volvió popular por el crecimiento en las ventas de las plataformas iphone, ipod y ipad. Características sobresalientes de cada versión Versión 1.x a. Las aplicaciones Mail, Fotos, ipod están incorporadas b. Tiene como navegador web Safari c. Google Maps d. Incorporación del teclado de software e. El sistema de archivos está oculto para el usuario f. itunes Store para comprar música Versión 2.x a. Esta preinstalado en el iphone 3G b. La App Store viene incorporada c. Se lanzó el SDK para ios Versión 3.x a. Se incorpora la posibilidad de cortar, copiar y pegar texto

b. Se incorporó el Spotlight search como buscador del sistema operativo c. Soporte de MMS Se lanza el Ipad Soporte para nuevos diseños de Apps(por la pantalla del ipad) Se lanza la aplicación ibooks Versión 4.x a. Esta preinstalado en el iphone 4 b. Soporte multitarea c. Carpeta de aplicaciones d. Video Chat FaceTime e. Retina Display para la creación de aplicaciones de mayor calidad gráfica Versión 5.x a. Incorporación de Siri, como asistente virtual b. Incorporación del centro de notificaciones para el manejo de todas las notificaciones de las diversas aplicaciones c. Sistema de mensajería gratis imessage d. Se incorpora el servicio en la nube icloud e. Integración con Twitter Versión 6.x a. Se sustituye el servicio de mapas Google Maps por una aplicación de mapas nativa b. Mejoras del asistente virtual Siri c. Integración con Facebook

Figura #1: Diferentes cambios del dock durante los cambios de versión del sistema operativo (de la versión 1.x a la 5.x). Generalidades Información general Es un sistema operativo móvil desarrollado por Apple Está escrito en C, C++ y Objetive-C Basado en Mac OS X y en núcleo Darwin BSD Interfaz Gráfica Cocoa Touch Soporta solamente plataforma ARM Es software propietario Última versión 6.0 Características

Pantalla principal: se usa la pantalla principal SpringBoard donde se encuentran los íconos de las aplicaciones y un dock en la parte inferior donde se encuentran las aplicaciones más usadas. Figura #2: La pantalla principal de un iphone. Se muestra las aplicaciones y el dock en la parte inferior de la pantalla. Sistema de carpetas: carpetas de tamaño de un ícono donde se encuentran varias aplicaciones. Multitarea: el sistema operativo permite soportar múltiples tareas. Cambio de aplicaciones: permite intercambiar entre las aplicaciones. Requerimientos para desarrollar aplicaciones Tener un ordenador Mac: la Mac debe ser de la gama Intel. Si posee una Mac con procesador PowerPC no le va a funcionar. Versión del sistema operativo Mac OS X 10.7: conocido como Lion. También funciona usando la nueva versión del sistema operativo Mac OS X 10.8 conocido como Mountain Lion. Tener el dispositivo móvil: si se desea desarrollar para un dispositivo en específico, por ejemplo iphone, se debería tener el dispositivo real para realizar pruebas. Esto puede ser opcional ya que Xcode provee emuladores para los dispositivos iphone y ipad. Tener conocimiento para programar en Objective-C: El lenguaje de programación que se utiliza para programar aplicaciones en ios. Si tiene conocimiento en lenguajes como C, C++ y Java, este lenguaje le puede ser sencillo de aprender por su semejanza con los lenguajes mencionados anteriormente. Más adelante se detallarán algunas cuestiones importantes para

programar en Objective-C. Descargar el IDE Xcode e instalarlo: para programar en ios es necesario tener tener el IDE de desarrollo. Xcode pesa alrededor de 1.5 GB y tiene los mismos requerimientos de sistemas operativo mencionados anteriormente. En la sección de IDE, se menciona como descargar e instalar el IDE. Para enrolarse en el programa de desarrollo de ios (costo por año 99$): es necesario este proceso para poder probar la aplicación en un dispositivo móvil real. Saber inglés: las guías y tutoriales que provee la página de developer están en inglés. Puede revisar la páginas mediante el siguiente link aquí. Leer los tutoriales básicos: es importante leer los tutoriales para poder poder ambientarse con el lenguaje y el IDE Xcode. Los tutoriales que provee la página de developer de Apple contiene contenidos acerca de librerías, patrones de diseño, lineamientos para el diseño de interfaces gráficas, diseño de la aplicación y de cómo y cuales son los requisitos para publicar la aplicación en la App Store. Puede encontrar los tutoriales de desarrollo en el siguiente link aquí. Programar!!: para poder desarrollar en ios es necesario tener las ganas de programar. Ambiente de desarrollo Para poder descargar, desarrollar y publicar aplicaciones para ios o para MAC se debe de ser miembro en la comunidad de desarrollo de apple. Para desarrollar la aplicaciones se necesita un IDE, un Sistema Operativo desarrollado por Apple, un lenguaje de programación y el SDK. Se van a explicar cada una de ellas IDE de programación El IDE que se utiliza para desarrollar aplicaciones sobre ios se llama Xcode, éste permite desarrollar aplicaciones para Mac, iphone y ipad. Viene integrado con Cocoa y Cocoa Touch frameworks que son los mismos utilizados por Apple para desarrollar los sistemas operativos de OS X y ios. Las herramientas de Xcode además del IDE proveen una herramienta de diseño de interfaces y el compilador Apple LLVM integrados. Este compilador es el mismo parser usado en c/c++ y en Objective-C. La imagen siguiente muestra como se ve el IDE de Xcode.

La imagen siguiente muestra cómo funciona el compilador Apple LLVM. Xcode también soporta desarrollo multipersona usando el fuente de control de administración (SCM). Si se escribe un código fuente, Xcode puede mostrar errores de sintaxis y lógicas, y hasta sugerir arreglos. Para descargar la última versión de Xcode se puede descargar gratis en la página de Mac App Store, su tamaño en la versión 4.5.1 es de 1.5 GB. (Se debe de haber registrado como miembro en la comunidad de desarrolladores de Apple) La siguiente imagen muestra información sobre Xcode.

La siguiente imagen muestra información sobre la interfaz de Xcode. OS X Sistema operativo necesario para poder desarrollar aplicaciones para apple Para desarrollar aplicaciones para apple por fuerza se debe de tener una máquina con sistema operativo OS X de apple, el OS X mínimo requerido para poder instalar el IDE y el SDK para poder desarrollar las aplicaciones es la versión OS X Lion v10.7.4 o superior, pero el OS X superior hasta el momento es el OS X v10.8 Mountain Lion. La siguiente imagen muestra la portada del OS X 10.7.4

La siguiente imagen muestra la portada del OS X 10.8 Lenguaje de programación El lenguaje que se utiliza para desarrollar aplicaciones para Apple es Objective-C. Objective-C es un lenguaje orientado a objetos con los poderes de todas las aplicaciones de ios. Aunque se pueden utilizar otros idiomas para el desarrollo, no se puede construir una aplicación para ios sin Objective-C.

Objective-C es un lenguaje sencillo, la sintaxis y las convenciones son fáciles si se tiene experiencia con otros lenguajes orientados a objetos como Java o C + +. Si se es un programador de C, se debe de familiarizarse con programación orientada a objetos. Objective-C es un superconjunto del lenguaje C En el lenguaje Objective-C se especifica una sintaxis para la definición de clases y métodos, para llamar a los métodos de los objetos, ampliación de las clases de forma dinámica y la creación de interfaces de programación adaptadas para problemas específicos. Es un superconjunto del lenguaje de programación C, Objective-C soporta la misma sintaxis básica de C. Se tiene todos los elementos conocidos, como los tipos primitivos (int, float, etc), las estructuras, funciones, punteros, y el control construcciones de flujo, como if... else y para las declaraciones. Además se tiene acceso a las funciones estándar en la biblioteca C, como las declaradas en stdio.h y stdlib.h. Objective-C añade la sintaxis y las funciones a ANSI C: Definición de nuevas clases Clases y métodos de instancia Método de invocación Declaración de propiedades Tipos estáticos y dinámicos Segmentos de bloques-encapsulados de código que pueden ser ejecutados en cualquier momento Extensiones al lenguaje base como los protocolos y las categorías Objective-C es un lenguaje muy dinámico que es su mayor ventaja.

Clases y Objetos Las clases en Objective-C apoya la encapsulación de datos y definir las acciones que operan sobre esos datos. Un objeto es una instancia de tiempo de ejecución de una clase. Contiene su propia copia en memoria de las variables de instancia declaradas por su clase y punteros a los métodos de la clase. Se crea un objeto de un procedimiento en dos pasos denominado asignación y la inicialización. La especificación de una clase en Objective-C requiere dos partes distintas: la interfaz y la implementación. La interfaz contiene la declaración de la clase y define la interfaz pública de la clase. Al igual que con el código C, se definen los archivos de cabecera y los archivos de código fuente para separar las declaraciones públicas de los detalles de implementación del código. (Se puede poner otras declaraciones en el archivo de implementación si forman parte de las interfaces de programación pero de manera privada) Estos archivos tienen las extensiones de archivo enumerados a continuación. Archivos con extensión.h: Archivos de cabecera. Archivos de cabecera contienen tipo de clase, función, y las declaraciones de constantes. Archivos con extensión.m: Archivos de implementación. Un archivo con esta extensión puede contener tanto Objective-C y el código C. A veces se llama un archivo fuente. Archivos con extensión.mm: Archivos de implementación. Un archivo de aplicación con esta extensión puede contener código C + +, además de Objective-C y el código C. Se usa esta extensión sólo si en realidad se refieren a clases C + + o características de su código de Objective-C. La sintaxis para importar los archivos de cabecera de la clase (hipotética) Gizmo es: #import <Gizmo/Gizmo.h> La siguiente figura muestra la sintaxis para declarar una clase llamada MyClass, que hereda de la base (o raíz) de clase, NSObject. La declaración de la clase comienza con la directiva del compilador @ interface y termina con la directiva @ end. En Objective- C, una clase sólo puede tener un padre.

Los signos más denotan métodos de clase (static), y los signos menos métodos de la instancia. Las declaraciones de propiedades y métodos de la interfaz se escriben entre @interface y @end. Estas declaraciones forman la interfaz pública de la clase. Un punto y coma marca el final de cada declaración de propiedad y método. Si la clase tiene funciones personalizadas, constantes y tipos de datos asociados con su interfaz pública, se ponen sus declaraciones fuera de la interfaz @interface... @end. La sintaxis de una implementación de la clase es similar. Comienza con una directiva del compilador @ implementation (seguido del nombre de la clase) y termina con una directiva @ end. Las implementaciones de los métodos ven en el medio. (Implementaciones de funciones deben ser fuera del bloque @implementation... @end bloque final.) Una aplicación siempre debe importar el archivo de interfaz como una de las primeras líneas de código.

SDK El ios SDK viene incluido en la descarga de Xcode 4.5.1, en algunas versiones anteriores de Xcode debía de descargarse el SDK por aparte. La imagen siguiente muestra lo que incluye el Xcode 4.5.1. Con el ios SDK, se puede comenzar a desarrollar aplicaciones ios para ipad, iphone y ipod touch. Las herramientas de desarrollo que se encuentran en el SDK de ios son: Xcode Entorno de desarrollo que ofrece gestión de proyectos, un editor de código fuente de gran alcance, y un depurador gráfico.

Foros de desarrolladores de Apple Post ios SDK provee foros donde se hablan sobre temas de desarrollo y preguntas para un debate abierto con otros desarrolladores de ios y los ingenieros de Apple. Simulador de ios Permite ejecutar, probar y depurar la aplicación localmente en su ordenador Mac mediante un simulador de iphone y ipad. Conseguir Videos de Inicio y Documentos Permite obtener los elementos esenciales de herramientas, marcos de trabajo, métodos de diseño, mejores prácticas, etc. Instrumentos Se permite recopilar, mostrar y comparar gráficamente los datos de rendimiento en tiempo real para optimizar su aplicación. Librería de desarrollo de ios Artículos y guías para liberar notas y código de ejemplo.

Interface Builder Interface Builder hace que el diseño de una interfaz de usuario es tan fácil como arrastrar y soltar. Ejemplos de código Ejemplos de codificación, de esta manera puede añadir características o mejorar el diseño de su aplicación. Proceso de publicación de aplicaciones. El proceso de publicación de aplicaciones en el app store, básicamente consiste en una serie de tareas administrativas, aparte de un proceso formal de aprobación. El app store restringe que aplicaciones pueden ser vendidas esto para propio beneficio del cliente (Se evita que aplicaciones de mala calidad entren al mercado). El equipo de desarrollo debe de proveer información acerca de la aplicación al app store, para que esta pueda mostrarla al usuario (como screenshots, información general, etc). Además se debe someter dicha aplicación a un proceso de aprobación por parte revisores del App store, una vez que la aplicación fue aprobada, se debe definir una fecha para el lanzamiento de la aplicación en el app store. Además Apple provee una serie de herramientas que permiten al desarrollador consultar datos como ventas de la aplicación, consultas de usuarios y reportes de fallas. Con dichas herramientas, el desarrollador puede implementar actualizaciones y subirlas constantemente al app store. Para tener acceso a todos los recursos y herramientas que brinda el app store el desarrollador debe de registrarse en el programa de desarrollo de ios, actualmente la afiliación cuenta 99$ por un año. El registro lo que hace es verificar que el desarrollador está de acuerdo con aspectos legales, también se le pregunta si es un solo desarrollador o es un equipo, ante lo cual debe de agregar los otros individuos.

La administración de la cuenta se puede hacer por medio de las siguientes herramientas web: Member center: básicamente provee características que permiten la administración de cuentas, agregar miembros al equipo, además de ser el principal acceso a otras herramientas. ios Provisioning Portal: Herramienta usada para registrar IDs de aplicación, registrar dispositivos, crear certificados de firma, perfiles de provision, todos ellos pasos necesarios para asegurar la seguridad de la aplicación. itunes connect: Herramienta de mercado y negocios donde el desarrollador puede verificar el status de sus contratos, impuesto por publicación, entre otros datos financieros relacionados con la aplicación. El primer paso para publicar es configurar el proyecto de la aplicación de forma que contenga lo que se solicita para subirlo al App store. Entre los aspectos relacionados con esta configuración tenemos la especificación del nombre del producto y el identificador de la compañía, en base a estos dos atributos Xcode crea el ID del paquete. Para subir la aplicación al App store, el desarrollador se debe de loguear en la herramienta web itunes Connect, cambiar el estado del record de la aplicación

a Esperando para subir. Posteriormente se crean los certificados necesarios (certificado de distribución, perfil de aprovisionamiento distribuido) utilizando el ios provisioning portal, se debe de setear el método de distribución como App store. Usando Xcode se crea un archivo, se valida y se sube al App store. La validación del archivo se realiza mediante un chequeo de la información suministrada por el desarrollador en el itunes Connect y la que se especifica en la aplicación del archivo., de existir algún error Xcode hace que el desarrollador los arregle antes de continuar. Para subir el archivo se debe chequear la opción App Store, en el método de distribución y luego debe dar click en la opción submit. El Xcode se encarga de transmitir el archivo al App store para que los revisores efectúen el proceso de aprobación. En caso de que la aplicación no sea aprobada, el desarrollador debe de solucionar los defectos y volver a enviarla al App store.

Una vez aprobado se utiliza el itunes connect para establecer una fecha para colocar la aplicación disponible para los usuarios. Antes de subir la aplicación se debe de leer la Guía para revisores del App store, de forma que se tenga una idea de los lineamientos que utilizan los revisores encargados de aprobar o no la aplicación. Proceso de aprobación. El proceso de aprobación del App store fue lanzado en julio del 2008, desde entonces cada vez que un desarrollador desee publicar en el App store de Apple, debe aprobar dicho proceso. Los lineamientos bajo los que deben estar sujetas las aplicaciones bajo revisión se encuentran en el Apple Review Guidelines el cual se encuentra en el siguiente URL https://developer.apple.com/appstore/guidelines.html, publicado el 9 de setiembre del 2010. Desde su lanzamiento el proceso de aprobación ha sufrido variaciones tanto en tiempo que tarda la revisión como en retroalimentación que le brinda al usuario. Por ejemplo, en julio del 2009, el proceso de aprobación tardaba semanas, a finales del 2009 el proceso ya tardaba menos (días). En diciembre del 2009 Apple empezó a proveer de retroalimentación más detallada, aparte de los mensajes de Aprobado, Rechazado y En proceso que mostraba antes. Generalmente las aplicaciones son rechazadas por cosas como: utilización de APIs no documentados, duplicación de aplicaciones de Apple, proveer interfaces sin funcionalidades o uso, tener los mismos elementos que los implementados en la aplicación de SMS de Apple, duplicar la funcionalidad de itunes, si las aplicaciones son de utilidad limitada, si la función de vibración no es utilizada solo para alertas, aplicaciones con contenido pornográfico u obsceno, etc. Algunas casos curiosos de aplicaciones rechazadas son los siguientes: Newspapers, aplicación utilizada para visualizar periódicos en línea fue rechazada por tener contenido obsceno, así como también Eucalyptus una aplicación diseñada para descargar libros en línea (la razón que se dió es que se podía descargar el kamasutra). NewToons, aplicación de caricaturas fue banneada por Apple debido a que ridiculizaba a las figuras públicas. Baby Shaker, aplicación que fue retirada debido a que el juego consistía en hacer morir a un bebé mediante el movimiento del teléfono.

Comparación con otra plataforma: Android. Mientras que la plataforma de desarrollo de ios solo esta soportada en sistemas operativos Mac OS X Lion, la plataforma de desarrollo de Android es soportada en Mac, Linux y Windows. El lenguaje de desarrollo para aplicaciones en ios es objective-c, mientras que android se vale de java unido a la inclusión del SDK de android y del plugin ADT. Para alguien que no ha programado en Objective C, es claro que eso representa una curva de aprendizaje importante El IDE para el desarrollo en ios es Xcode, mientras que en android se utiliza principalmente Eclipse. La plataforma de android permite al desarrollador utilizar herramientas que no sean necesariamente implementadas por ellos, es decir se pueden utilizar otros elementos que no sean parte del SDK del google. En contra parte Ios es estrictamente restrictivo en este sentido, al desarrollador se le provee de un conjunto fijo de herramientas y no puede utilizar cualquier otra fuera de ese conjunto. App store cuenta con un proceso formal de aprobación por parte de una serie de revisores de apple, por otro lado, android, es más flexible en ese sentido. Los desarrolladores de ios perciben un 70% de las ganancias que se generen de las ventas de sus aplicaciones en el App store, pero tienen que pagar una cuota anual de 99$. En el caso de Android, los desarrolladores deben de pagar una única cuota de 25$ para registrarse y perciben el 70% de las ganancias que generen las ventas de sus aplicaciones en el mercado de android, aparte los desarrolladores son libres de colocar sus aplicaciones en otros mercados. Android cuenta con el recolector de basura de java, mientras que en ios la asignación y desasignación de recursos debe hacerla explícita el programador. Ventajas y desventajas de la plataforma. Ventajas: Los elementos de desarrollo permiten crear una interfaz gráfica muy agradable y sencilla, la navegación también se facilita mucho para el usuario. Se dice que su interfaz es a prueba de tontos. Actualizaciones constantes de sus productos.

Excelente integración con todas las herramientas y productos de Apple. Cuenta con una de las tiendas de aplicaciones más grandes del mundo. El sistema operativo puede correr varias aplicaciones de forma simultánea, se puede configurar que una aplicación corra en el background y en el momento que se dé una actualización o una alerta aparecer de nuevo en la interfaz. Los productos desarrollados y publicados en el App store son de buena calidad debido al proceso de aprobación al que son sometidos. Desventajas: El aprender las variantes y nuevos conceptos que trae consigo Objective C, puede representar una curva de aprendizaje. Apple restringe mucho al desarrollador las herramientas que puede utilizar, hasta tal punto que no puede utilizar nada que no provenga de ellos. Control excesivo sobre las aplicaciones y el sistema. El hecho de poder desarrollar sólo en ambientes Mac, limita mucho la posibilidad de desarrollar. En la actualidad es mucho más la variedad de dispositivos que corren con android, que los que corren con ios, ellos hace que la variedad de mercado en el caso de ios no sea tan grande como en la plataforma android. Referencias bibliográficas ios [En línea] Disponible en: http://es.wikipedia.org/wiki/ios_(sistema_operativo) Consultado el 28 de octubre de 2012. Fernández, J. C. ios, historia pasada y futuro inmediato. [En línea] Disponible en: http:/ /appleweblog.com/2011/05/ios-historia-pasada-y-futuro-inmediato Consultado el 28 de octubre de 2012. Bohn, D. ios: A visual history. [En línea] Disponible en: http://www.theverge.com/2011/ 12/13/2612736/ios-history-iphone-ipad Consultado el 28 de octubre de 2012. Getting Started. [En línea] Disponible en: https://developer.apple.com/ library/ios/navigation/index.html? section=resource+types&topic=sample+code#section=resource%20types&topic=ge tting%20started Consultado el 28 de octubre de 2012. ios Developer Program. [En línea] Disponible en: https://developer.apple.com/ programs/ios/ Consultado el 28 de octubre de 2012. ios Dev Center. [En línea] Disponible en: https://developer.apple.com/support/ios/iosdev-center.html Consultado el 28 de octubre de 2012.

Program Enrollment. [En línea] Disponible en: https://developer.apple.com/support/ios/ enrollment.html Consultado el 28 de octubre de 2012. Developing for App Store. [En línea] Disponible en : https://developer.apple.com/ library/ios/#referencelibrary/gettingstarted/roadmapios/chapters/ RM_DevelopingForAppStore/DevelopingForAppStore/DevelopingForAppStore.html. Consultado el 28 de Octubre del 2012. Mac App Store Preview. [En línea] Disponible en: https://itunes.apple.com/us/app/xcode/ id497799835?ls=1&mt=12 Consultado el 27 de Octubre del 2012. Developer Tools. [En línea] Disponible en: https://developer.apple.com/technologies/ tools/ Consultado el 27 de Octubre del 2012. Xcode. [En línea] Disponible en: https://developer.apple.com/support/xcode/ Consultado el 27 de Octubre del 2012. Xcode 4 User Guide. [En línea] Disponible en: https://developer.apple.com/library/ios/ #documentation/toolslanguages/conceptual/xcode4userguide/000-about_xcode/ about.html#//apple_ref/doc/uid/tp40010215-ch1-sw1 Consultado el 27 de Octubre del 2012. Starting Developing ios App Today. [En línea] Disponible en: https:// developer.apple.com/library/ios/#referencelibrary/gettingstarted/roadmapios/chapters/ BasicTasks.html Consultado el 27 de Octubre del 2012. ios Developer Program. En línea] Disponible en: https://developer.apple.com/programs/ ios/develop.html Consultado el 27 de Octubre del 2012. Approval of ios Apps. [En línea] Disponible en: http://en.wikipedia.org/wiki/ Approval_of_iOS_apps. Consultado el 28 de octubre del 2012. [En línea] Disponible en : http://mobiledevices.about.com/od/kindattentiondevelopers/ tp/android-os-vs-apple-ios-which-is-better-for-developers.htm. Consultado el 28 de octubre del 2012.