Estoy trabajando para agregar compras dentro de la aplicación a mi aplicación.
Puedo recibir el productsRequest:didReceiveResponse
método y recibir la variedad de productos.
Mi problema surge cuando agrego un SKPayment a SKPaymentQueue . Después de agregar el producto a la cola, en el paymentQueue:updatedTransactions
método las transacciones siempre tienen el estado SKPaymentTransactionStateFailed .
I NSLog el "transaction.error" y esto es lo que devuelve: Error Domain = SKErrorDomain Code = 0 UserInfo = 0x165000 "No se puede conectar a iTunes Store"
Salí de la tienda en la aplicación Configuración, pero después de intentar comprar un producto en mi aplicación, nunca me pide que inicie sesión con mi cuenta de prueba. Simplemente falla con el error anterior.
fuente
Respuestas:
Supongo que ha realizado las comprobaciones de cordura estándar: volver a comprobar su código, confirmar sus ID de producto, comparar su código con la Guía de programación de compras en la aplicación, etc.
Esto puede ser ridículo, pero, si está seguro de que su código es correcto, realice un restablecimiento completo (borrado completo) de su iPod (Configuración => General => Restablecer => Borrar todo el contenido y la configuración). Estuve desconcertado por este problema exacto durante horas; resultó que mi código era correcto y el restablecimiento completo era la solución.
fuente
Me estaba
SKPaymentTransactionStateFailed
código de error 0 " No se puede conectar a iTunes Store " y gracias a Thomax de esta respuesta a mi problema está resuelto. Resulta que DEBE ingresar un número de compilación en Objetivos-> Resumen .Pasé las últimas 24 horas restableciendo mi teléfono, jugando con iTunes Connect y haciendo casi todo lo que podía pensar antes de encontrar esta solución.
fuente
Recibí el mismo error, pero se me pidió mi cuenta de usuario de prueba. Y también una ventana emergente que dice "Se ha producido un error desconocido". Resulta que cuando creé mi cuenta de usuario de prueba y salí de la configuración -> tienda, había decidido iniciar sesión con mi cuenta de usuario de prueba, lo que me solicitó un montón de información, incluida la facturación, que había roto mi cuenta de usuario de prueba. . Cuando creé una nueva cuenta de usuario de prueba y solo inicié sesión cuando se me solicitó durante la prueba de compra en la aplicación, todo funcionó sin problemas.
fuente
Este error (es decir, "¡Error! No se puede conectar a iTunes Store") puede ocurrir si realiza una compra en la aplicación en un espacio aislado, pero ha iniciado sesión con su cuenta Apple normal.
Creo que me ayuda a evitar confusiones si salgo de mi cuenta de Apple antes de realizar cualquier compra en la aplicación. Luego, en el cuadro de diálogo "Iniciar sesión", elija la opción "Usar ID de Apple existente" e ingrese los detalles de su usuario de prueba.
Solo recuerde que esto se establecerá en su Configuración, por lo que deberá cerrar sesión una vez que haya terminado las compras en la aplicación.
Además, el uso de una ID de Apple diferente restablece varias configuraciones relacionadas con iTunes, como iTunes Match.
fuente
Puede comprobar si el siguiente enlace funciona o se agota el tiempo:
https://sandbox.itunes.apple.com/verifyReceipt
Alternativamente, una forma poco científica pero bastante confiable de verificar si la caja de arena está funcionando es preguntar a:
https://devforums.apple.com/community/ios/connected/purchase
Si la caja de arena no funciona, probablemente ya habrá gente hablando de ella, como ahora (18 de enero de 2012, 6:40 pm hora UTC).
fuente
También me enfrentaba al mismo error. Me di cuenta de que el error solo aparece en el simulador, cuando cambié a la depuración del dispositivo, el error no apareció.
fuente
Simplemente cierre sesión en su cuenta de AppStore en la configuración ...
Resolvió el problema porque mi dispositivo se registró con mi ID de Apple habitual y debido a que las compras en la zona de pruebas siempre se realizan con el ID de usuario de prueba, el dispositivo estaba intentando enviar mi ID de Apple Store habitual a la App Store de "prueba" resultante en este error "No se puede conectar a iTunes Store".
Esta es la causa más común que he visto en mi dispositivo.
fuente
Golpeé con el mismo problema, reinicié mi dispositivo, verifiqué los identificadores, reinstalé la aplicación. También pensé que el problema era porque había cambiado la referencia y la descripción de los productos. En realidad, creo que se debe a que mi usuario de prueba se bloqueó porque varias personas usaban la misma cuenta, y es posible que la validación de la contraseña haya fallado varias veces. Así que recreé otro usuario de prueba y las compras dentro de la aplicación han vuelto a funcionar. Espero que esto ayude. Estaba totalmente perplejo con este error.
fuente
Asegúrate de que tus BundleIDs coincidan. Ese era mi problema.
fuente
Incluso una restauración completa no resolvió este problema por mí.
Después de solicitar
addPayment
un identificador de producto de renovación automática, pasó aproximadamente un segundo antes de recibir el error "SKErrorDomain Code = 0" de StoreKit. En ningún momento se me pidió (como sugiere la documentación de Apple ) un nombre de usuario y contraseña de iTunes Store; la transacción simplemente falló.Para resolver esto, tuve que agregar un producto "consumible" falso a iTunes Connect y llamar
addPayment
usando el identificador de producto del consumible falso. Esto provocó que apareciera el cuadro de diálogo de iTunes Store. Luego inicié sesión con una cuenta de prueba que había creado en iTunes Connect. Esto tuvo éxito: se notificó a mi aplicación que se había comprado el consumible.Después de hacer esto, pude llamar
addPayment
con mi identificador de producto de renovación automática y comprar la suscripción normalmente.fuente
asegúrese de que está probando con cuentas de usuario de sandbox creadas a partir de itunesconnect y no con su ID de Apple real para su cuenta personal cuando pruebe estas cosas.
fuente
Pensé que valía la pena mencionar que la solución de DonnaLea de solo iniciar sesión cuando se le solicita el pago también funcionó para el mismo problema con el complemento StoreKit de Unity y Prime31. Si intenta iniciar sesión a través del mismo menú de configuración que utiliza para cerrar la sesión, se solicitarán todo tipo de detalles de facturación / dirección que parecen "romper" permanentemente esa cuenta de prueba.
fuente
Me encontré en esta situación cuando estaba trabajando para agregar compras dentro de la aplicación y no lo hice exactamente bien la primera vez. En mi caso, tuve un error en PHP del lado del servidor y, como resultado, creo que no estaba llegando hasta "finishTransaction:". Incluso después de que solucioné los problemas (puse el programa en un dispositivo separado y lo compré con éxito), seguía recibiendo "Ya compraste esto, haz clic para descargar" seguido de "No se puede conectar a iTunes Store".
Finalmente logré que dejara de hacer eso al iniciar el juego desde Springboard (no desde XCode). Inmediatamente procesó la transacción con éxito y dejó de pedirme que volviera a descargar.
fuente
Esto es similar a la respuesta aceptada anterior. Empecé a recibir el error "No puedo conectarme a la tienda de iTunes" al intentar iniciar sesión en mi cuenta de iTunes en mi teléfono después de iniciar sesión con una cuenta de IAP sandbox.
Para resolver el problema, pude simplemente hacer un Restablecer todas las configuraciones en lugar de Borrar todo el contenido y las configuraciones (Configuración => General => Restablecer => Restablecer todas las configuraciones). Definitivamente mejor que tener que perder y reinstalar todo en su dispositivo.
fuente
Tuve el mismo problema, en primer lugar no he creado una cuenta de prueba, así que la creé obteniendo ayuda de este enlace https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/ SettingUpUserAccounts.html # // apple_ref / doc / uid / TP40011225-CH25-SW10
Luego, debe cerrar sesión en su cuenta actual en su dispositivo. y comprar comprándolo solicitará la cuenta de usuario, luego ingrese la cuenta de prueba.
fuente
Tuve el mismo problema. Anteriormente había creado una cuenta de usuario de prueba y salí de la tienda de iTunes esperando que se me solicitara un inicio de sesión para mi cuenta de usuario de prueba cuando realicé la compra de la aplicación. en su lugar, recibí el mensaje No se puede conectar a la tienda de iTunes. cuando inicié sesión con mi nombre de usuario / contraseña real de iTunes y probé mi aplicación de prueba, funcionó perfectamente. Luego salí de la tienda de iTunes nuevamente y mi aplicación funcionó muy bien, solicitándome mi identificación / pw
fuente
Tuve el mismo error, pero el problema no era exactamente el mismo. Quizás sea útil para alguien:
Inserté un archivo externo en la estructura de mi aplicación. La razón por la que hice esto es porque en producción, inserto este archivo dinámicamente desde un servidor, pero en desarrollo pensé que era más rápido usar una aplicación llamada iExplorer para pegar este archivo. He hecho esto es el pasado y no tuve este problema. Pero en los últimos días, si pego este archivo directamente usando iExplorer, mi aplicación devuelve el error: "No se puede conectar a iTunes Store". (en español: "No se puede conectar a iTunes Store").
Creo que es porque esta vez inserté el archivo dentro de la carpeta .app. Entonces, esto me hace pensar que si modifica su carpeta .app de alguna manera, la Codesignature se rompe y el enlace con iTunes Store deja de funcionar directamente.
fuente
Para mí, el problema se solucionó cargando un archivo binario. Dado que esa respuesta no se dio en esta página, que parece estar entre los principales éxitos en Google, pensé en agregarla.
fuente
Pensé que debería compartir mi experiencia reciente con el mismo problema:
Experimenté el mismo problema hace unos días, donde dejó de funcionar de un día para otro. Recibí el siguiente error después de haberme autenticado con mi (s) usuario (s) de prueba:
Error Domain=SKErrorDomain Code=0 UserInfo=0x165000 "Cannot connect to iTunes Store"
No había realizado ningún cambio en el código y no pudimos pensar en ningún otro cambio en nuestra cuenta de iTunes o productos IAP que pudieran haber desencadenado los problemas. Lo único que pudo haber estado relacionado fue la adición de más usuarios de prueba de iTunes (aunque he agregado ~ 15 cuentas antes sin problemas). Lo probé en diferentes dispositivos y en el simulador.
Revisé todas las listas de verificación disponibles y todas las soluciones posibles (todo lo mencionado anteriormente también) sin ningún éxito. Finalmente pensé que bien podría tomarme un descanso durante todo el fin de semana, ya que estaba dibujando espacios en blanco. Y curiosamente (y por primera vez en la historia), ¡ no hacer nada realmente funcionó ! No cambié ningún código, ni cambió nada en nuestra cuenta de iTunes o la aplicación.
Las únicas razones en las que puedo pensar son:
fuente
Compruebe si ha iniciado sesión en su cuenta personal de iTunes en la tienda de aplicaciones. Si es así, recibirá este mensaje. Incluso si ha iniciado sesión en su cuenta de sandbox en la aplicación. Por lo tanto, para resolver este problema, cierre la sesión de su cuenta personal en la tienda de aplicaciones y luego intente comprar su artículo en la aplicación y luego use su cuenta de sandbox. Esto resolvió mi problema.
fuente
Bueno, como de costumbre, "probé todas las soluciones disponibles y no sirvió de nada" :) Entonces, aquí está mi entrada a esta colección ilimitada de piedras de tropiezo:
Si la aplicación no está actualmente a la venta (por cualquier motivo), se produce este error.
fuente
Recibí el mismo error, cuando llamé
SKProductsRequest
alstart
método en mi entorno de prueba, se ejecutó en- (void)request:(SKRequest *)request didFailWithError:(NSError *)error
Cuando llamé a mi entorno de producción, es correcto y se ejecutó
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
¡Cierre
charles
o cualquier software de proxy http lo antes posible! ¡Cierrecharles
o cualquier software de proxy http lo antes posible! ¡Cierrecharles
o cualquier software de proxy http lo antes posible!Lo sabes ~
fuente
Tuve el mismo problema, pero lo resolví con el siguiente modo:
- Estaba usando el emulador de iPhone 5S con iOS 8.4 (este es el más importante. La conexión de Apple Store no funciona en el emulador de iOS 11)
- en el emulador encendí el siguiente configuración: Configuración / Desarrollador / Permitir servicios HTTP (esto es para la conexión a Internet)
- temporalmente desactivé Avast antivirus Web Shield (esto también es para la conexión a Internet)
fuente
Las preguntas frecuentes sobre compras desde la aplicación contienen esta información:
En mi caso, el error se produjo porque estaba usando el simulador.
Incluso en la Guía de programación de compras dentro de la aplicación se dice que usar el dispositivo iOS de desarrollo tiene un paso de prueba sugerido .
fuente
Como documentación de Apple:
No se puede conectar a iTunes Store El problema "No se puede conectar a iTunes Store" puede deberse a una o más de las siguientes razones:
https://developer.apple.com/library/content/technotes/tn2413/_index.html
fuente
He intentado todo lo que he podido para solucionar este problema.
Dispositivo real, no simulador.
Nueva cuenta de prueba de Sandbox registrada (no complete la información adicional para convertirla en una ID de Apple formal)
Cierre la sesión de cualquier cuenta relacionada (iCould, App Store, tal vez la cuenta de prueba de la caja de arena de otra aplicación)
Complete todos los impuestos y acuerdos en el sitio web de itunesconnect
Incluso restaurar a la configuración de fábrica LOL ...
siempre devuelve SKErrorDomain Code = 0
"No se puede conectar a la tienda de iTunes"
...
La solución de mi caso finalmente llegó después de 3 días de lucha:
Y finalmente encuentro la clave. Prueba con otro dispositivo para probar el iAP si el iOS de tu dispositivo es iOS13.4.x!!! Y actualizo la versión del sistema operativo de este dispositivo "roto" a iOS14.0.1, iAP funciona como un encanto.
fuente