martes, 3 de julio de 2012

Como obtener y crear un certificado de desarrollo para iOS


Esta guía (permitidme llamarlo así) intenta esclarecer dudas para crear los distintos certificados, a entender la función de cada uno, como realizar nuestras copias de seguridad y a restaurarlas.

Estos certificados se utilizan para firmar nuestras aplicaciones y sólo las aplicaciones firmadas pueden ser probadas en dispositivos Apple e incluso hace posible que las podamos publicar al AppStore.

Para desarrollar aplicaciones podemos prescindir de estos certificados, el unico (y no sórdido) requisito es disponer de un sistema operativo MAC OS X (10.4 o superior). Podemos descargar el SDK de iOS totalmente gratuito. Con la restricción que sólo podremos ejecutar las aplicaciones en el simulador (que incluye el SDK). Es por ello que si deseamos testear nuestras aplicaciones y/o publicarlas al AppStore deberemos adquirir una licencia que cuesta $99 (cuota anual) para poder disponer de estos certificados.

¿Qué tipos de certificados hay y para que se utilizan?
No voy a describir que és un certificado digital, pero si no conocéis como funciona este seria un buen momento para leerse este artículo en wikipedia
Principalmente hay dos tipos de certificados, uno para el desarrollo y otro para su distribución. Para cada caso existen certificados con distintas funciones: 
  • Todas las aplicaciones deben estar firmadas por un certificado válido antes de poder ser ejecutados en un dispositivo de Apple o publicarlos al AppStore. Estos certificados digitales se asocian a una identidad de desarrollador y pueden ser invalidadas por Apple antes de su expiración (que por defecto es anual). Podremos crear uno para cada miembro del equipo de desarrolladores.
  • Certificados SSL, permite establecer una conexión segura hacia el servidor de notificación Push de Apple (APNS), para este tipo de certificados tendremos que crear uno para cada aplicación si queremos enviar notificaciones sino, estos certificados nos los podremos ahorrar.

¿Cómo crear los certificados?
1. Una vez obtengamos la licencia aprobada por Apple tendremos acceso al IOS Provisioning portal, desde ahí nos dirigiremos a "Certificates" >> "Development" y pulsaremos en "Request Certificate" para solicitar un nuevo certificado. Nos pedirá que subamos un archivo CSR.


Por eso iremos en "Aplicaciones" >> "Utilidades" y accederemos a "Acceso a Llaveros". Una vez ahí vamos al menú "Acceso a Llaveros" en "Asistente para Certificados" y hacemos clic a "Solicitar un certificado de una autoridad de certificación...".


NOTA: El par de claves pública y privada se generan al solicitar un certificado de una autoridad de certificación (CSR) si se utiliza el asistente de "Acceso a Llaveros". 


Rellenamos nuestra dirección de correo y nombre, luego hacemos clic en "Guardado en el disco". Esto nos generará el archivo CSR (certSigningRequest), que deberemos subir en el IOS Provisioning portal.


Si volvemos al IOS Provisioning portal veremos que nuestro certificado se encuentra en el  estado "Pending Issuance".


En cuestión de varios segundos recibiremos un correo electrónico notificándonos que un miembro del equipo ha solicitado un certificado.



A partir de ese instante nuestro estado habrá cambiado a "Issued", eso significa que ya podremos descargar nuestro certificado. Para instalarlo solo tendremos que arrastrarlo al "Acceso a Llaveros" o hacer doble clic. 


2. El siguiente paso será añadir un dispositivo que utilizaremos para testear nuestras aplicaciones (podemos añadir hasta un total de 100 dispositivos distintos), para ello abriremos el "Organizer"  (que lo encontraremos abriendo el Xcode, vamos al menú  "Windows" y seleccionamos "Organizer"). En la sección "Devices" copiaremos el identificador (conocido también como token) del dispositivo, una cadena alfanumérica de 40 caracteres.


Luego nos dirigimos de nuevo al IOS Provisioning portal, en la sección "Devices" y pulsamos en "Add Devices". Introducimos el nombre como queramos nombrar al dispositivo, pegamos el identificador que hemos copiado antes y le damos a "Submit".


3. Una vez hemos añadido el dispositivos, a continuación crearemos un identificador de aplicación. Para ello iremos a la sección "App IDs" y pulsamos en "New App ID".

NOTAUn ID de aplicación es la combinación de una cadena de diez caracteres único llamado "Bundle Seed ID" y el tradicional identificador de paquete (CF).


En el campo "Bundle identifier" Apple nos recomienda que utilizemos el estilo invertido usado en un nombre de dominio. Por ejemplo si disponemos de un dominio llamado  "midominio.com", y a nuestra aplicación la queremos llamar "miaplicacion", podemos añadir un subdominio a nuestro dominio de tal forma que pase a llamarse "miaplicacion.midominio.com". Ahora si invertimos el dominio podemos utilizar este nombre como identificador de paquete "com.midominio.miaplicacion", es una buena forma de mantener organizada y ordenada los nombres de aplicaciones, cuando tengamos muchas aplicaciones agradecereis haber seguido las recomendaciones de Apple.

Podemos también usar el carácter comodín (asterisco '*') para que un único identificador de aplicación se puede utilizar para construir e instalar varias aplicaciones.

4. Ahora podremos solicitar un perfil de aprovisionamiento, que no es más que una colección de entidades digitales que vincula desarrolladores con dispositivos permitiendo a un dispositivo utilizarlo para testear las aplicaciones. Para ello nos dirigiremos a la sección "Provisioning" y hacemos clic en "New Profile". 


Rellenamos el nombre que deseemos dar para el perfil, seleccionamos el certificado que deseamos usar (en este caso sólo hay uno), escogemos la aplicación, los dispositivos que queremos incluir para efectuar las pruebas y pulsamos en "Submit".  Regresaremos en la sección anterior y  podremos ver que aparecerá nuestro nuevo perfil en estado "pending", pero en breves instantes ya estará disponible para su descarga. 

Descargamos el perfil, para instalarlo tan sólo tendremos que arrastrarlo al "Organizer" que se encuentra abriendo el Xcode, vamos al menú  "Windows" y seleccionamos "Organizer".


Debemos acceder a los ajustes del proyecto, en "Build Settings", vamos a "Code Signing Identity", tanto en el caso de "Debug" (desarrollo) como para "Release" (para publicar al AppStore) indicaremos que firma utilizaremos para incrustar en la aplicación.


Si nos aparece uno de los siguientes errores, significará que algo no hemos hecho bien. Os recomiendo repetir todo el proceso desde el principio. 

  • Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain
  • CodeSign error: code signing is required for product type 'Application' in SDK 'iOS X.X'



¿Como realizar copias de seguridad y restaurarlas?
Para realizar una copia de seguridad de los certificados abriremos el "Acceso a Llaveros". Que lo encontramos en "Aplicaciones" >> "Utilidades". 

En la categoría "Claves" en el llavero de "Inicio de sesión", seleccionamos las claves privadas y le damos a exportar los elementos, esto nos guardará un fichero con extensión p12. 

Para restaurar la copia, tan sólo tendremos que arrastrarlas al "Acceso a Llaveros" y descargarnos los certificados  y los perfiles desde el IOS Provisioning portal.


Fuente: Macandpeach

1 comentario:

  1. https://tecniciencias.com/como-elegir-el-mejor-cooler-para-laptop/
    En la categoría "Claves" en el llavero de "Inicio de sesión", seleccionamos las claves privadas y le damos a exportar los elementos, esto nos guardará un fichero con extensión p12.

    ResponderEliminar