subir publicar program developer costo apple app ios ios5 ios6

publicar - Descripción de los perfiles de aprovisionamiento y certificados en iOS



publicar app store (1)

En primer lugar, seleccionar un perfil de aprovisionamiento en Xcode es engañoso; ¡construir en Xcode en realidad no tiene nada que ver con los perfiles! Lo que realmente ocurre es que Xcode solo coincide con el certificado de clave pública en el perfil a uno en su llavero, luego usa la clave privada para firmar el ejecutable. Esa es la firma ejecutable Mach-O estándar de pantano. Esta es también la razón por la que lo han cambiado en Xcode 5 para ser más claros. De ahí también provienen los errores en los perfiles (identidad de firma no encontrada), lo que significa que Xcode no pudo encontrar una clave privada correspondiente a ninguna de las claves públicas en el perfil.

Su certificado de desarrollador personal es material estándar de PKI; su Mac envía una solicitud a Apple para obtener un certificado de manera que Apple no conozca su clave privada (similar a las solicitudes de certificado SSL). Apple genera el certificado y el llavero lo combina con la solicitud original, dándole las claves públicas y privadas para el certificado. Cuando se crea un perfil para un desarrollador individual, la clave pública de ese desarrollador aparece en la lista. Cuando se crea un perfil de equipo, se incluyen las claves públicas para todos los miembros del equipo elegidos. Esto permite a los miembros del equipo firmar el ejecutable, pero el nombre del firmante será el nombre del equipo en lugar del individuo.

Cuando iOS va a ejecutar cualquier ejecutable, primero comprueba la firma. Si la firma está firmada por Apple App Store, se ejecuta.

Si no, luego verifica los perfiles de aprovisionamiento instalados. Los perfiles incluyen: 1. Una lista de certificados de desarrollador 2. Una ID de aplicación 3. Derechos a otorgar (p. Ej., ICloud, Game Center, etc.) 4. Una lista de UDID de dispositivos 5. Todo el asunto está envuelto y firmado por Apple.

El perfil se verifica para asegurarse de que fue firmado por la clave de Apple (usando la clave pública de Apple). Luego valida que el UDID del dispositivo actual está en la lista. También valida que la ID de la aplicación coincida (aunque se permiten comodines). Luego, comprueba la firma de Mach-O con la lista de claves públicas de certificado de desarrollador válidas. Si alguno de ellos coincide, el ejecutable se ejecuta y se le otorgan los derechos enumerados. Si no, está bloqueado.

Recomiendo abrir un archivo .mobileprovision en un editor de texto; ¡Aprenderás mucho!

¿Mi comprensión con respecto a los perfiles de aprovisionamiento, certificados es correcta (durante el desarrollo)?

  1. Las aplicaciones se firman con un certificado de desarrollador de xcode cuando se instalan en el dispositivo. El certificado debe existir en el perfil de aprovisionamiento (almacenado en el IPad / IPhone) y el deviceid del dispositivo de instalación también debe estar presente en el perfil de provisión.
  2. Por lo tanto, cuando hace clic en una aplicación cuando el dispositivo no está conectado a su mac desarrollador, el certificado firmado de la aplicación debe coincidir con uno en el perfil de provisión (que existe en el dispositivo) y la identificación del dispositivo también debe coincidir con uno en el perfil de provisión. entonces la aplicación se ejecutará.
  3. Cuando el dispositivo está conectado a mac ejecutando el xcode y desea depurar, entonces la clave pública + privada almacenada en el llavero entra en juego, xcode intenta desbloquear la clave pública + privada almacenada en el llavero usando el certificado y por lo tanto identifica el mac, y también ejecuta la viñeta anterior y si eso también es cierto, puede depurar con éxito