2011-10-23 22 views
11

¡Me estoy arrancando los pelos intentando que las notificaciones push funcionen! Estoy siguiendo this tutorial básicamente no sirvió. He eliminado xcode varias veces, he rehecho todo el certificado de desarrollo de Apple y he limpiado varias veces mi llavero de inicio de sesión. Esto ha ayudado a algunos problemas, pero al final sigo estancado.notificaciones push de Apple: ¿ningún 'aps-environment' válido ha probado todas las soluciones que he visto en la web?

lo que creo que tengo que hacer (a partir de la lectura de la experiencia de otras personas con esta): 1) Mi cert openssl y necesidad clave para comunicarse con el servidor de manzana 2) El ID de la aplicación con este cert OpenSSL tiene un aprovisionamiento perfil asociado con ella. 3) La compilación (en xcode) necesita tener el perfil de aprovisionamiento adecuado asociado a ella 4) El identificador de compilación (en xcode) necesita tener el mismo texto que el ID de aplicación con el perfil de aprovisionamiento 4) ???

Por lo que yo puedo decir, todo esto es aceptable:

  1. Mi certificado SSL + charla clave muy bien con el servidor de manzana (ignorar el error, sigo teniendo un indicador de tiempo):

MacBook-Pro:apple_dev_certification nflacco$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -key xxx.pem -cert xxx.pem Enter pass phrase for xxx.pem: CONNECTED(00000003) depth=1 /C=US/O=Entrust, Inc./OU=www.entrust.net/rpa is incorporated by reference/OU=(c) 2009 Entrust, Inc./CN=Entrust Certification Authority - L1C verify error:num=20:unable to get local issuer certificate .....

2,3,4) Cuando se crea un nuevo proyecto, nunca se pone la ip aplicación correcta (build configuración-> identificador de información de haz). Si mi perfil de aprovisionamiento coincide con 'com.xxx', la aplicación siempre será 'com.xxx.FOO', por lo que se selecciona el Perfil de provisión de equipo de IOS predeterminado. Funciono con la aplicación de esa manera, y sale:

2011-10-22 22:42:45.086 VVV[3552:707] Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x16d140 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}

4 cont) Quiero usar mi archivo de suministro que utiliza mi aplicación id con empuje permitido, así que cambio el identificador de aplicación para 'com.xxx', y seleccione el perfil adecuado en la opción de firma de código en el menú de compilación. Instalarlo en mi iPhone, lo mismo :(

Las únicas cosas que se me ocurren:?

  • Mi perfil de suministro no es correcto que he hecho uno nuevo varias veces , suprime la todos los existentes los de organizador de Xcode, pero esto no ha ayudado .
  • Código sigue siendo firmado con el perfil del equipo en lugar de mi nuevo uno? ¿hay una manera de asegurar esto?

alguna idea sobre ¿Qué debería hacer aquí? Esto no puede ser tan complicado. ¿Debo limpiar mi HD y volver a instalar desde cero y espero que funcione?

+0

Así que el problema es que la aplicación no se registra para el impulso? Estoy confundido ya que mencionas muchos factores no relacionados, como los certificados SSL. –

+0

Sí, eso es correcto. Acabo de mencionar las otras cosas para confirmar que el certificado realmente funciona con APN, y la firma de código para confirmar que se utiliza el perfil de aprovisionamiento correcto para la aplicación. – nflacco

Respuesta

14

¿Sabes de qué se trata? Mi aplicación id.

foo.bar se trata como foo.bar.* (Que no está permitido)

usted tiene que tener foo.bar.xxx

enter image description here

+1

¿Qué quiere decir con esta respuesta? lo que debería cambiar el nombre o cambiar –

0

Creo que para obtener más información necesita un archivo Entitlements.plist que tenga una clave aps-environment, con un valor de "producción". Acabo de terminar de hacer que esto funcione (nuevamente) para mi aplicación. Algunas otras respuestas aquí me ayudaron a abrir la ventana del Organizador después de que hice el Archivo, pero luego recibí su error.

También tuve que salir de & reiniciar XCode con cierta frecuencia, tocar la configuración que realmente no cambió, eliminar el certificado anterior, pre-empujar y agregar el nuevo, etc. etc. Muchas de las configuraciones en XCode no hicieron Realmente cambian, pero parece que tocarlos hizo que comenzara a funcionar.

Cuestiones relacionadas