¿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.

¿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 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