2012-03-13 11 views
13

Esta noche me actualicé de Snow Leopard a Lion y actualicé a Xcode 4.3.1 (iOS 5.1). Y ahora, cuando intento ejecutar el modo de depuración en mi dispositivo (iPad), aparece "No se encontró un perfil de aprovisionamiento válido para este ejecutable". He intentado todas las sugerencias en publicaciones anteriores sobre este tema. He generado un nuevo certificado. He configurado mi código de firma para usar el nuevo certificado. He actualizado el perfil de aprovisionamiento para usar el nuevo certificado. He entrado en el archivo .pbxproj y he eliminado todas las referencias al perfil de aprovisionamiento. He limpiado y cerrado Xcode un millón de veces. No importa lo que haga, todavía obtengo el mismo error cuando intento ejecutar en el dispositivo.Xcode 4.3.1 "No se encontró un perfil de aprovisionamiento válido para este ejecutable"

En Organizador, el perfil de aprovisionamiento aparece como "Perfil válido" en mi Biblioteca, pero en los Perfiles de provisión enumerados para el dispositivo no hay ninguno en la lista. He intentado hacer clic en el botón Agregar e importarlo manualmente; no ocurre nada. No aparece. Cuando hago clic en el icono del dispositivo en Organizador, aparece el mensaje "Aprovisionamiento sin perfiles de aprovisionamiento". Sin embargo, cuando accedo a mi portal de aprovisionamiento de iOS en línea y hago clic en el dispositivo, el perfil de provisión aparece allí como asociado al dispositivo.

¿Alguna idea? Estoy tirando de mi cabello aquí.

+0

¿verificó su paquete Identificador tienes? para dar el identificador de su nuevo perfil de Aprovisionamiento como su identificador de paquete. – Sree

+0

La ID de aplicación asociada a mi perfil de aprovisionamiento es (ID de semilla de paquete). (Identificador de paquete). Y coincide con el identificador de paquete establecido en mi archivo info.plist. – Joel

+0

¿Ha establecido la misma "Identidad de firma de código" en "Configuraciones de compilación" para el Proyecto y el Objetivo? Lo más fácil es usar 'iPhone Developer', que siempre coincide con el perfil correcto. –

Respuesta

6

La solución que funcionó para mí fue:

-eliminado todas las referencias al perfil de aprovisionamiento en .pbxproj.
-Deleted todos los certificados en llavero.
-Importé mi certificado al llavero.
-Creció un nuevo perfil de aprovisionamiento y lo configuró en el portal del desarrollador.
-Refreshed provisioning profiles in xcode organizer.
- Eliminado el perfil de aprovisionamiento comodín que xcode agrega automáticamente.
- Ingresé a la firma de código y seleccioné la cuenta de firma asociada al perfil de aprovisionamiento correcto.
-Plugged en un dispositivo iOS diferente (iPad cambiado con el nuevo iPhone)
-Construido para un nuevo dispositivo iOS.

Y funcionó. No estoy seguro de qué paso fue el mágico. No reinstalé xcode.

5

Asegúrese de que haya una clave privada y pública válida generada para el perfil. Lo que es más importante, asegúrese de que las llaves estén guardadas en el lugar correcto en el llavero.

Deben estar bajo inicio de sesión, no en el sistema ni en ningún otro lugar. Esto me causaba problemas y me llevó un tiempo encontrar la solución.

Espero que esto ayude.

+0

Gracias por la sugerencia. Aunque ya lo había intentado. Terminé volando todo y empecé de cero con un nuevo perfil de aprovisionamiento, etc. – Joel

+1

@JoelMilne: ¿Cuáles fueron los pasos que hizo para eso? ¿Has reinstalado Xcode? ¿Puedes darnos algunos detalles? –

+1

Se eliminaron todas las referencias al perfil de aprovisionamiento en .pbxproj. Eliminado todas las entradas en llavero. Importé mi certificado a llavero. Creó un nuevo perfil de provisión y lo configuró en el portal del desarrollador. Perfiles de aprovisionamiento actualizados en el organizador xcode. Se eliminó el perfil de aprovisionamiento comodín que xcode agrega automáticamente. Ingresé a la firma de código y seleccioné la clave asociada al perfil de aprovisionamiento correcto. Creado para dispositivo iOS. Y funcionó. No reinstalé xcode. – Joel

10

¿Por casualidad tiene dos cuentas de desarrollador con diferentes conjuntos de dispositivos/aplicaciones? Me encontré con esta situación (ver qué perfil de "iOS Team Provisioning" se corresponde con "iPhone Developer"). La única forma que he encontrado para cambiar de equipo, por así decirlo, es seleccionar su dispositivo y hacer clic en "Agregar al Portal" e iniciar sesión con la ID de Apple correcta.

+0

No, solo tengo uno. Pero buena sugerencia para otros. – Joel

+0

Esto funcionó para mí. Tuve que eliminar ambas cuentas, luego reiniciar XCode. Después del reinicio, volví a agregar la cuenta que necesitaba para este proyecto. Eso debe haber provocado una actualización de los perfiles de los servidores de Apple. Una vez que esto sucedió, pude seleccionar el "perfil de aprovisionamiento del equipo" como el certificado de firma del código de desarrollo. – Jason

2

he visto este problema antes, y mi solución "estándar" es

a) Poner a un nuevo proyecto IOS simulado, usando el menú de Xcode - Archivo - Nuevo - proyecto. Verificar la firma del código es su certificado de desarrollador. Compile y vea si puede ejecutarse en su hardware de iPhone/ipad.

Si a) falla, es algo con sus certificados y su llavero.Borrar todo y crear nuevos certificados

Si b) funciona, es algo en el archivo .xcodeproj o en la carpeta de compilación de su proyecto problemático. Eliminar todos los archivos y carpetas en la compilación. Utilice su copia de seguridad (¡seguro que tiene una copia de seguridad diaria para su proyecto!), Y copie un archivo "viejo" .xcodeproj en su proyecto problemático. Use Xcode - project - clean, xcode - project - build as - testing, y en lo sucesivo "run".

Antes de intentar la solución anterior, haga una copia de seguridad adicional.

buena suerte, y recuerda que no eres el primero que tiene problemas de certificado.

0

En mi caso, el problema no estaba relacionado en absoluto con las claves, certificados, perfiles de aprovisionamiento o cualquier otra de las razones mencionadas aquí y en cualquier otro lado. ¡Resulta que algún otro desarrollador en un equipo diferente tomó prestado el iPad que usamos y cambió la fecha del dispositivo a un año en el futuro! Después de configurar la fecha y la hora correctas y ejecutar la aplicación en el dispositivo todo funcionó bien.

Desafortunadamente Xcode no me advirtió sobre esto, y fue hasta que necesité solucionar otro problema no relacionado que Instruments me informó de esta situación sobre la fecha incorrecta en el dispositivo.

0

Simplemente marque la sección "Firma de código" en "Configuraciones de compilación". Si previamente creó su aplicación para la publicación de la tienda de aplicaciones, tal vez olvidó cambiar el perfil de distribución por el de desarrollo.

0

Si usted está en Xcode 6, y en funcionamiento en este problema cuando se añade un nuevo dispositivo (iPhone 5/6), puede seguir los pasos here:
https://stackoverflow.com/questions/22993092/a-valid-provisioning-profile-for-this-executable-was-not-found-error-when-tryi/26153171#26153171

Cuestiones relacionadas