Consejos para que Apple apruebe tu app a la primera

Pues este es un post abierto a todo el mundo.

Tu aplicación no debe:

  • Tener errores. Comprueba bien que todo funciona correctamente.
  • Contener nada erótico, violento, blasfemo contra religiones, racista o dañino para el usuario. Hay muchos niños que acceden a aplicaciones y no deben poder acceder a una aplicación con estas características.
  • Ser una copia de otra aplicación. Por ejemplo, puedo tener problemas si quiero hacer una linterna, puede que ya haya muchas aplicaciones así en el mercado, pero precisamente por ello puede que nos la echen para atrás.
  • Usar contenido que tenga copyright. En el caso de que en la revisión lo vean puede que te la rechacen.
  • Usar la palabra beta o lite en el nombre de la aplicación.
  • Tener un tamaño muy grande. A partir de x MB de tamaño a través de redes móviles no se podrá descargar, apple no lo permite. Para descargárselo es necesario estar conectado a una red wifi.
  • Mentir en cuanto a la descripción del producto. Si tu aplicación sirve para finanzas entonces su descripción tiene que corresponder a su utilidad.
  • Vender contenidos a través de otra plataforma que no sea la In-App Purchase(IAP), que es la plataforma de Apple para distribuir.

Y eso es en principio por encima. Más información puedes tenerla aquí.

¿Cómo permitir la descarga de aplicaciones iOS sin que pasen por itunes y legalmente?

Hoy explicaremos cómo lograr que una aplicación que estemos desarrollando pueda descargársela cualquier usuario desde su iPhone o iPad simplemente clicando sobre un enlace.

Requisitos que necesitamos:
1 – La licencia de Apple Developer Enterprise Program. Con la Apple developer Program no vale.
2 – Un https desde el que incluir los archivos a descargar.
Pasos a seguir:
Entrar dentro del Member Center y crear un certíficado “In-House and Ad Hoc”.
Crear un App ID de nuestra aplicación.
Crear un provisioning profile de distribución del tipo “In House”.
Con el xCode indicamos en el proyecto la app id, el certificado y el provisioning profile creados y hacemos un archive.
Exportamos la aplicación ad hoc obteniendo así un .ipa
Creamos dos archivos, un index.html y un nombreaplicacion.plist

El index.html contendrá la siguiente información:

<a href="itms-services://?action=download-manifest&url=https://www.yises.com/app/nombreaplicacion.plist">
Clica en este link para instalar
</a>

El nombreaplicacion.plist tendrá lo siguiente:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
 <dict>
  <key>items</key>
  <array>
   <dict>
    <key>assets</key>
    <array>
     <dict>
      <key>kind</key>
      <string>software-package</string>
      <key>url</key>
      <string>https://www.yises.com/app/nombreaplicacion.ipa</string>
     </dict>
    </array>
    <key>metadata</key>
    <dict>
      <key>bundle-identifier</key>
      <string>com.yises.app</string>
      <key>bundle-version</key>
      <string>1.0</string>
      <key>kind</key>
      <string>software</string>
      <key>title</key>
      <string>La mejor aplicación del mundo</string>
    </dict>
   </dict>
  </array>
 </dict>
</plist>

Estos tres archivos los pondremos en la ruta que estemos indicando y en el navegador de nuestro iPad/iPhone accedemos al index.html. Al clicar en el enlace nos preguntará si queremos instalar la aplicación en cuestión, y una vez hecho nos preguntará si confiamos en el que ha creado la aplicación, es decir, nosotros.

Tipos de licencias de desarrollo en iOS

Hoy me ha tocado pelearme otra vez con ios y enterarme a las bravas de cosas que deberían de ser más sencillas.

ios Developer

El objetivo era hacer una aplicación ad hoc para un cliente de una aplicación que ya teníamos en la apple store. Pensábamos que era algo sencillo, pero pronto nos dimos cuenta que no permitía que los usuarios se descargaran el .ipa correctamente (solo en aquellos dispositivos que habíamos dato de alta como desarrollo). Después de buscar algo de información por internet nos dimos cuenta que nuestra licencia de 100 euros/año no valía para estas cosas, y que teníamos que adquirir la licencia de 300 euros/año…

Y como yo me encontré muy perdido en ese momento he hecho un listado de los tipos de licencias que tiene iOS actualmente:

  • Apple Developer: Opción gratuita. Nos vale para acceder a documentación, herramientas de desarrollo y con ello podremos hacer pruebas de debug de la aplicación a través del simulador de XCode.
  • iOS University Program: Opción gratuita pero únicamente a universidades que estén incluidas dentro de este programa.
  • iOS Developer Program: Esta era la opción que teníamos contratada. Por 99 dólares al año nos permitía entre otras cosas instalar aplicaciones en nuestros dispositivos (registrándolos previamente en la web de Apple) y publicar en la AppStore nuestras aplicaciones y comercializarlas (para nosotros un 70% de beneficios y para ellos el 30% restante)
  • iOS Developer Enterprise Program: Esta era la opción que necesitábamos para publicar de forma privada a la empresa aplicaciones ad hoc. Vamos, aplicaciones que no pasen por la apple store. Cuesta la friolera de 300 dolares/año. Y no es que te la den directamente, sino que primero la solicitas, le das tus datos, y después de un tiempo te aprueban la licencia y pagas (dicen que 7 días).

Y así nos encontramos, esperando… (solo queremos pagar y que nos dejen hacer el app)

¿Cómo crear un fichero .ipa?

Lo primero es contestar a la pregunta:

¿Qué es un .ipa?

Básicamente es un fichero en el cual se encuentra una aplicación desarrollada para iOS. Sería el .apk de iOS. Y lo que permite es desarrollar una aplicación y después distribuirla entre distintos dispositivos (sin necesidad de subirlo al itunes connect).

¿Cómo se crea un .ipa?

Siguiendo estos pasos:

  1. En Proyecto->Info hay que duplicar la configuración “Release” y llamarla de otra forma, por ejemplo “Ad hoc
  2. En el dispositivo de prueba hay que elegir Dispositivo IOS y a la izquierda duplicar los esquemas y configurar donde pone release por ad hoc.
  3. Seleccionar Product -> Build
  4. Seleccionar Product -> Archive
  5. Abrir el organizer (En el Xcode: Window->Organizer )
  6. Elegir la app que acabamos de archivar y hacer clic sobre Distribute.
  7. En distribute elegir Ad Hoc. Ya tendríamos el .ipa

¿Puedo subir un fichero .ipa al itunes?

Sí se puede si está firmado adecuadamente. Simplemente hay que:

  1. Acceder a itunesconnect.apple.com y descargarse de ahí el Application Loader (En el footer se encuentra un enlace justo debajo de “Deliver Your Apps”).
  2. En el itunes connect indicar que la aplicación está lista para ser subida.
  3. Abrir el Application Loader y seleccionar “Entregar Aplicación”.
  4. Seleccionar la aplicación a subir
  5. Siguiente, siguiente,siguiente,…… y al final enviar (ahí te indicará si tienes algún error o warning evidente en el ipa que te impida subirlo)

Y nada más, espero que sirva de algo 😉

 

Como hacer capturas de pantalla con el Ipad

Haciendo aplicaciones para iOS algo que se necesita cuando se sube al iTunes es un montón de capturas de pantalla, tanto para iphone 3, como para iphone de retina como para ipad.

¿Cómo se pueden hacer fácilmente capturas de pantalla en el iPAD?

Pues muy fácil, cuando estamos en la pantalla adecuada, simplemente tenemos que presionar al mismo tiempo el botón HOME y el botón de Bloquear/Desbloquear. ¡Y ya tendremos la captura! (Después simplemente tendremos que conectar el ipad con nuestro ordenador y pasarla).

ipad_como_capturar_pantalla

Como enlazar un proyecto con su svn en xCode (iOS)

Hoy ha tocado pelearme nuevamente con Mac… intentaba hacer checkout de mi proyecto y al final siempre SIEMPRE me generaba carpetas dentro de el o bien me eliminaba todo el proyecto…….

Después de revisar internet entero lo que vi es que todo el mundo recomendaba hacerlo no desde Xcode sino desde terminal.

Al final los pasos a seguir fueron los siguientes:

1-Comprobar si tenemos instalado el svn como para utilizarlo mediante línea de comandos: Ir a Xcode > Preferences > Downloads > Command Line Tools > Install

Apariencia de la descarga del Command Line de Xcode
Apariencia de la descarga del Command Line de Xcode

2-¿Tenemos un proyecto XCode? En caso contrario lo creamos en la carpeta que tengamos.

3-Cerramos Xcode.

4-Abrimos el terminal y cambiamos el directorio a la carpeta del proyecto, por ejemplo

  • cd $HOME/IOS/Proyectos

5-Importamos el proyecto en el svn:

  • svn import -m “New Import” MiProyecto/ https://miservidor/svn/trunk/MiProyecto

6-Realizamos el checkout del proyecto de nuevo para crear la copia de trabajo

  • svn co https://miservidor/svn/trunk/MiProyecto MiProyecto

7-Volvemos a abrir el proyecto en xcode, ya tendremos el proyecto como parte del repositorio.

Espero que os haya valido y ahorrado tiempo