Compras desde la aplicación "No se puede conectar a iTunes Store"


98

Tengo problemas para probar mis compras en la aplicación. Recupero identificadores de producto válidos, pero al comprar recibo el temido "No puedo conectarme a iTunes Store". Lo interesante es que las compras de restauración parecen funcionar: aparece el inicio de sesión de iTunes.

He: - Verificado que mis compras dentro de la aplicación estén habilitadas para la venta - Verificado, vuelto a verificar mi código fuente para que esté sincronizado con la documentación de Apple - Se agregaron usuarios de prueba apropiados - La identificación de la aplicación no contiene comodines - Las compras dentro de la aplicación están vinculadas al aplicación (la aplicación en sí está en estado rechazado por el desarrollador, las compras están listas para enviarse) - esperado - aplicación reinstalada, solución limpia, todas las cosas vudú


26
+1 para "todas las cosas del vudú", ¿no es esa la verdad?
Craig Watkinson

2
Apple, ¿por qué haces esto tan complicado?
Borzh

Respuestas:


113

Asegúrese de haber cerrado sesión en todas las cuentas de producción de iTunes en el dispositivo.

Recibí este error en mi teléfono de prueba que estaba conectado con mi cuenta real de iTunes. No puede probar aplicaciones con su cuenta de producción de iTunes, de ahí el error. Solo deseo que Apple proporcione un error mejor para evitar estas conjeturas ...


1
Mi error fue simplemente no configurar un usuario de Sandbox, olvidé ese paso. Y no inicie sesión en él desde la sección Configuración >> iTunes del dispositivo b / c que lo romperá. Espere y hágalo durante la prueba real.
Nathan Prather

También puede recibir este error al reutilizar una cuenta de sandbox antigua que probó un IAP anterior en otra aplicación con (Mi escenario). Apple realmente necesita actualizar la forma en que probamos los IAP, me estoy quedando sin correos electrónicos: 0
David Baez

Lo estoy probando en el simulador, por lo que este no debería ser el problema aquí, ¿verdad?
Usama bin Attique

1
desconectado de todas las cuentas de iTunes. es necesario indicarme que inicie sesión y luego falla la transección. Usé muchas cuentas de prueba de sandbox pero no funcionará.
BLacK HOLE

Para mí, esto tampoco funciona ... Intenté crear muchas cuentas, algunas con usuario de sandbox de iTunes conectado, otras sin usuario conectado, incluso sin confirmar el correo electrónico, ¡nada funciona!
Borzh


25

Para los recién llegados, asegúrese de que el estado de su producto de compra en la aplicación sea Ready to Submit, sin "metadatos faltantes". En mi caso, lo que faltaba era la localización del grupo de suscripción.

ingrese la descripción de la imagen aquí


1
¡Gracias! En mi caso, faltaba una localización para el nombre para mostrar.
Justin

En mi IAP, muestra "Esperando carga". Sigo recibiendo el error
Vaibhav Jhaveri

Esto es lo que funcionó para mí también. También había iniciado sesión en mi cuenta activa de iTunes, por lo que la cuenta activa no me importaba
cherucole

10

He tenido este problema y estoy convencido de que es un error. Presenté un informe de error con el Id. De error 10108270

El problema parece ser que el usuario de prueba se está 'bloqueando' y puede tener algo que ver con el intento de comprar una compra en la aplicación en una aplicación ya lanzada con esa cuenta.

Mi solución fue crear un nuevo usuario de prueba, pero hasta que Apple se comunique conmigo, no puedo ofrecer mejores soluciones. Actualizaré esta respuesta cuando reciba respuestas.


4
He creado un nuevo usuario de prueba, pero no ayudó.
arkir

Lamento no poder ayudar más, esa fue mi solución, es una pena que no funcione para ti. Mantendré esta respuesta actualizada cuando obtenga más información.
James Webster

Creé una nueva cuenta de prueba y la compra en la aplicación comenzó a funcionar nuevamente. ¡Gracias!
Miha Hribar

La creación de un nuevo usuario de prueba me resolvió el problema. (Hace unos días recibí un aviso cuando intentaba usar mi antiguo usuario de prueba que se había deshabilitado, así que tuve que volver a habilitarlo. Poco después, comencé a recibir el Cannot connect to iTunes storeerror. Pero una vez que creé una nueva prueba usuario, las compras funcionaron de nuevo.)
Andrew

nuevo usuario trabajó para mí. inténtalo antes de hacer cualquier otra cosa.
Okhan Okbay

6

Este problema sigue siendo persistente en 2016. Increíble. Aquí estaba mi solución:

Agrega un número de compilación. Objetivo> General> Identidades> Construir.


2
INCREÍBLE. Esto sigue siendo un problema en 2018. No uso un número de compilación en el modo de depuración porque lo incremento solo para las versiones de producción. Gracias por publicar esto.
Steven Peterson

3

Este es un hilo antiguo que está relacionado con el problema que enfrentaba hoy.

En mi caso, pude probar las compras dentro de la aplicación en mi dispositivo hasta ayer, pero dejó de funcionar hoy. Resultó que Apple había impulsado una 'Enmienda para aplicaciones pagas' para que yo la revisara y aceptara. Una vez que acepté la enmienda (sin leerla, por supuesto), todo volvió a funcionar. No tuve que crear un nuevo usuario de prueba ni ninguna otra solución.

Puede haber muchas razones por las que las compras en la aplicación no funcionen, pero asegúrese de estar configurado correctamente itunesconnecto no podrá probar las compras en la aplicación.


2

Estoy teniendo el mismo problema. Para mí sucede después de esta secuencia:

  • Instale la aplicación en un dispositivo que haya iniciado sesión en una cuenta del Reino Unido en iTunes
  • Inicie la aplicación y use un usuario de prueba configurado en EE. UU.
  • Se muestra un mensaje que dice que la cuenta solo es válida en EE. UU. Cierra la aplicación e inicia iTunes automáticamente.
  • Abra su aplicación nuevamente y vuelva a intentar la compra. Reciba productos pero ninguna otra devolución de llamada o error.

No sé si esto es un problema en la plataforma IAP, pero me gustaría recibir un error / devolución de llamada para manejarlo de alguna manera en mi código.

Para seguir probando sus IAP, pruebe alguno de estos:

  1. Elimine el perfil de aprovisionamiento en el área Configuración, elimine la aplicación y cierre la sesión de la Tienda en Configuración. Luego vaya a XCode y cambie las identidades de firma a "No firmar" para luego volver a colocarlas (sé cómo suena :) pero inténtelo) O
  2. Restablezca todas las configuraciones en su dispositivo (Configuración -> General ...). Obviamente perderá cualquier configuración en ese dispositivo ...
  3. Elimine la aplicación iTunes en el dispositivo (menú multitarea) y cierre la sesión de la Tienda en la Configuración

Si nada de lo anterior funciona, podría ser un problema en la plataforma IAP, consulte mis comentarios a continuación.


Gracias, pero ninguno de los métodos 1 o 2 funcionó para mí. Aún no puedo conectarme a iTunes. :(
arkir

De hecho, ¡lo he intentado yo mismo y tampoco puedo! Tengo la sensación de que este es un problema HOY / RECIENTE con la plataforma. Pero no puedo encontrar ningún enlace para confirmarlo (estado). ¡Argh !. Lo dejo por unas horas y veo si ese es el caso y es algo externo a los desarrolladores
Juan Fran Jimenez

¿Ha intentado eliminar la aplicación iTunes en el dispositivo (menú multitarea) y cerrar sesión en la Tienda en la Configuración?
Juan Fran Jimenez

Permítanme agregar que Game Center (sandbox al menos) ha sido inestable durante los últimos 5 días más o menos. Solo anoche empezó a funcionar mejor. Lo menciono porque mi código IAP no ha cambiado desde mi respuesta y ahora funciona. Me inclino a pensar que hubo un error en la plataforma IAP de Apple y que de alguna manera también estaba relacionado con Game Center.
Juan Fran Jimenez


1

También puede recibir este error al reutilizar una cuenta de sandbox antigua que probó un IAP anterior en otra aplicación con (Mi escenario). Apple realmente necesita actualizar la forma en que probamos los IAP, me estoy quedando sin correos electrónicos: 0


Yo también tuve este problema. A veces, crear un nuevo usuario ayuda. Además, no es necesario utilizar un correo electrónico real. Pasé - ## al final del mío y sigo agregando nuevos.
Jeremías

1

Pude comprar en la aplicación en iPhone pero no en iPad (11.0.2). Intenté con todas las soluciones mencionadas pero ninguna ayuda. Después de probar todas las demás posibilidades, finalmente pude hacerlo funcionar.

Cuando crea una cuenta de prueba en iTunes Connect, no verifique la identificación del correo electrónico. Si se verifica, iap devuelve el error "No se puede conectar a iTunes". Parece extraño pero así me funcionó. En iPhone, independientemente de la verificación por correo electrónico, puedo comprar usando una cuenta de prueba.


Leí esto y al principio sonó loco, pero en realidad funcionó. Tuve exactamente el mismo problema con la cuenta de prueba que no podía realizar compras en iPad pero funcionaba bien en iPhone. ¡Muy extraño!
axanpi

Si. Esto es raro. Nuestra aplicación fue rechazada debido a este problema y tuve que explicarle al equipo de revisión de Apple el motivo y obtener la aprobación.
Anish

1

Aquí la lista de verificación exhaustiva si recibió este error "no se puede conectar a iTunes Store":

  • Asegúrese de tener un usuario de sandbox creado en App Store Connect

  • El simulador NO admite la compra desde la aplicación: prueba en un dispositivo real

  • Es posible que no se pueda acceder a la caja de arena. Verifique el estado del sistema Apple
  • Verifique que su aplicación tenga una versión de paquete (CFBundleVersion)
  • Compruebe que el producto esté disponible para la venta. ¿Lo creaste en App Store Connect?

  • Si es iOS 12 anterior, cierre sesión en cualquier cuenta de producción de iTunes en el dispositivo. De lo contrario, puede iniciar sesión dentro de la aplicación de desarrollo con su cuenta de sandbox.


0

Este error también se produjo cuando SKProductsRequest pasó un NSSet incorrecto:

Incorrecto:

let products = NSSet(objects: ["id1", "id2"])

Correcto:

let products = NSSet(objects: "id1", "id2")

0

En mi caso, me olvidé de manejar .faileden transactionState. En particular SKPaymentQueueue.default().finishTransaction(transaction),.


0

El mismo problema me sucedió, y había verificado el problema, incluido el formulario de Apple , no pude encontrar una solución.

Hoy, cuando revisé el dispositivo, encontré que lo siguiente

En Configuración del dispositivo -> iTunes y App Store encontraron otro ID de Apple conectado . Así que probé signOut that y verifiqué nuevamente la compra InApp, funcionó perfectamente. Por lo tanto, verifique que el problema esté vinculado al mismo o no.

Gracias y saludos, Unnikrishnan.P


0

Tuve que ir a Configuración> iTunes y tiendas de aplicaciones, luego desplazarme hasta la parte inferior del campo "Cuenta de zona de pruebas" y cerrar sesión desde allí. ¡¡¡Ahora está funcionando !!!

ingrese la descripción de la imagen aquí


0

Además de todos los otros métodos descritos aquí, si está trabajando con suscripciones, parece que debe asegurarse de haber generado un secreto compartido:

"Para probar u ofrecer suscripciones renovables automáticamente, debe tener un secreto compartido maestro o usar un secreto compartido específico de la aplicación para cada aplicación".

Un secreto compartido maestro se genera desde la pestaña 'Secreto compartido' de la sección 'Usuarios y acceso' de App Store Connect.

Se genera un secreto compartido específico de la aplicación donde administra las compras dentro de la aplicación de la propia aplicación.


0

Yo arreglé el mío! Si recibe un Error Domain=SKErrorDomain Code=2 "Cannot connect to iTunes Store"error, asegúrese de insertar SKPaymentQueue.default().finishTransaction(transaction). Funcionó para mí después de agregar SKPaymentQueue.default().finishTransaction(trans)lo siguiente:

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
    for trans in transactions{
        if trans.transactionState == .purchased {
            print("Successful.")
            SKPaymentQueue.default().finishTransaction(trans)
        } else if trans.transactionState == .failed {
            print("failed!")
            print(trans.error)
            SKPaymentQueue.default().finishTransaction(trans)
        }
    }

Encontrado en el sitio web para desarrolladores de Apple, aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.