Pregunta

Estoy trabajando para agregar compras dentro de la aplicación a mi aplicación.

puedo recibir el productsRequest:didReceiveResponse método y recibir la gama de productos.

Mi problema surge cuando agrego un SKPago hacia SKPaymentQueue.Después de agregar el producto a la cola, en el paymentQueue:updatedTransactions método las transacciones siempre tienen el estado SKPaymentTransactionStateFailed.

Realicé NSLog en el "transaction.error" y esto es lo que devuelve:Dominio de error = skerrordomain código = 0 userInfo = 0x165000 "No se puede conectar a iTunes Store"

Me desconecté 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.

¿Fue útil?

Solución

Supongo que ha realizado las verificaciones de cordura estándar: verificación de dos veces 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, haga un reinicio duro (limpieza completa) de su iPod (configuración => general => reset => borre todo el contenido y la configuración). Me desconcerté por este problema exacto durante horas: resultó que mi código era correcto y el reinicio duro era la solución.

Otros consejos

Estuve obteniendo SKPaymentTransactionStateFailed Código de error 0 "No se puede conectar a la tienda de iTunes"Y gracias a Thomax para esta respuesta Mi problema está resuelto. Resulta que tu Debe ingresar un número de compilación bajo objetivos-> Resumen.

Pasé las últimas 24 horas restableciendo mi teléfono, jodiendo con iTunes Connect y haciendo casi todo lo que podía pensar antes de toparse con esta solución.

SKPaymentTransactionStateFailed code 0 Cannot connect to iTunes Store

SKPaymentTransactionStateFailed code 0 Cannot connect to iTunes Store

creo que encontré el "error".

Solo estoy interesado en la fecha, no las horas, así que cuando guardo la fecha, tomo el valor de esta información de la fecha: "fechaElement.DateValue.Date"

Más tarde, cuando quiero editar la fecha, asigna para EX "2012-03-18 00:00:00" al elemento de fecha. Cuando obtenga ese valor de vuelta, se ha convertido de CET a UTC de alguna manera, lo que significa que obtengo la fecha anterior: - (

, así que supongo que tengo que convertirme de nuevo a la hora local

Este error (es decir, "¡Error! No se puede conectar a iTunes Store") puede ocurrir si realiza un sandboxed en la compra de la aplicación, pero se inicia sesión en el uso de su cuenta de Apple normal.

Encuentro que ayuda a evitar cualquier confusión si firmo en mi cuenta de Apple antes de hacer cualquier compra de aplicaciones. Luego, en el cuadro de diálogo "Iniciar sesión", elija la opción "Use 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á registrarse después de que haya terminado en las compras de aplicaciones.

Además, el uso de una ID de Apple diferente restablece varias configuraciones relacionadas con iTunes, como iTunes Match.

Puede verificar si el siguiente enlace está funcionando o al tiempo:

https://sandbox.itunes.apple.com/verifyreceipt

Alternativamente, una forma no científica pero bastante confiable de verificar si el sandbox está funcionando es preguntar en:

https://devforums.apple.com/community/ios/connected/purchase

Si la caja de arena está inactiva, probablemente habrá gente ya hablando de eso, como ahora (18 de enero de 2012, 6:40 p.m., hora de UTC).

También me enfrentaba con el mismo error. Descubrí que el error solo viene en el simulador, cuando cambié a la depuración del dispositivo, el error no apareció.

Puede usar el plugin de jquery caret

http://examplet.buss.hk/download/download.PHP? Plugin= CARET.1.01

Nota: edite y elimine estos caracteres ôªØ de la línea 8

y replace FUNCITICIÓN.(no reemplazar nada más que usar el índice de patrón emparejado)

$("#myText").bind("keyup", function(e){
     var text = $(this).val();
     var caret = $(this).caret().start;

     if(text && text.length > 0){
        text.replace(/\$.*?\$/g, function(m, n){
           if(caret > n && caret < (n + m.length)){
              alert("BOOM");
           }
        });
     }
});

Demo: http://jsfiddle.net/xqxxb/

solo mostrando cómo hacerlo.Puedes mejorar esto.

Uso

$("#myText").bind("keyup keydown change", function(e){ ...

para un mejor resultado.

Golpeo 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 es porque mi usuario de prueba se había bloqueado como varias personas donde usaban la misma cuenta, y es la posibilidad de que la validación de contraseña haya fallado varias veces. Así que recreé a otro usuario de prueba y la compra en la aplicación está de vuelta para funcionar. Espero que esto ayude. Estaba totalmente perplejo con este error.

Pasé un día tratando de aislar este error, y finalmente lo he clavado.

El firmante de códigos en Xcode 4.3.1 al validar para la tienda de aplicaciones o guardar para los choques de distribución adhoc siempre que haya un subdirectorio en su paquete que tiene el mismo nombre que su directorio principal.

Por ejemplo:

test/test/file.x -- FAIL
test/test2/file.x -- WORKS

Esto parece ser nuevo en Xcode 4.3.1 y, con suerte, se arreglará pronto.

Actualización: He escuchado de vuelta de Apple DTS Support confirmando el problema e indicando que no se conoce ninguna solución conocida que no sean renombrando los directorios en el paquete. ugh

Incluso una restauración completa no resolvió este problema para mí.

Después de llamar addPayment Para un identificador de producto de renovación automática, pasó aproximadamente un segundo antes de recibir el error "Código Skerrordomain = 0" de StoreKit. En ningún momento me invitaron (como La documentación de Apple sugiere que uno debería ser) para 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 Uso del identificador de producto del consumible falso. Esto hizo que surgiera el diálogo de la tienda de iTunes. Luego inicié una sesión con una cuenta de prueba que había creado en iTunes Connect. Esto tuvo éxito: mi solicitud fue notificada de que el consumible había sido comprado.

Después de haber hecho esto, pude llamar addPayment con mi identificador de producto automático y compra la suscripción normalmente.

QStringList static recentFiles;

Eso es solo declaración.Debe definir la variable estática en el archivo de origen:

QStringList MainWindow::recentFiles;

Si no entiende por qué necesita hacerlo, eche un vistazo a ver este artículo de preguntas frecuentes .

Pensé que valía la pena mencionar que la solución de Donnalea de solo iniciar sesión cuando se le solicitó el pago también funcionó para el mismo problema con Unity y el complemento StoreKit de Prime31. Intentar iniciar sesión a través del mismo menú de configuración que utiliza para iniciar sesión solicitará todo tipo de detalles de la dirección de facturación que parezcan "romper" permanentemente esa cuenta de prueba.

Me encontré en esta situación cuando estaba trabajando para agregar compras en la aplicación y no lo hice exactamente bien la primera vez. En mi caso, tuve un error en el PHP del lado del servidor y, como resultado, creo que no estaba llegando a "finktransaction:". Incluso después de solucionar los problemas (puse el programa en un dispositivo separado y comprado con éxito), seguí obteniendo "ya lo compró, haga clic para descargar" seguido de "No se conecte a iTunes Store".

Finalmente lo conseguí para dejar de hacerlo lanzando el juego desde Springboard (no Xcode). Inmediatamente procesó la transacción con éxito y dejó de provocarme que me descargue.

Esto es básicamente una sistema de ecuaciones lineales simultáneas .Puede resolverlo usando eliminación gaussiana .

En cuanto a la matriz "División", lo que realmente tiene en mente es un matriz inverso ,es decir, una matriz A -1 de modo que

aa -1 = a -1 A= i

Dónde está el Matriz de identidad .Si A es invertible, A * C= B es equivalente a C= A -1 B.

Había tenido el mismo problema, en primer lugar, no he creado una cuenta de prueba, así que creé obtener ayuda de este enlacehttps://developer.apple.com/library/ios/documentation/languagesutilities/conceptual/itunesconnect_guide/chapters/settingupuseraccounts.html#//apple_ref/doc/uid/tp4001125-ch25-sw10

Luego debe registrar su cuenta corriente en su dispositivo. y comprar compras, solicitará una cuenta de usuario, luego ingrese la cuenta de prueba.

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 iniciar sesión en mi cuenta de usuario de prueba cuando realicé la compra en la aplicación.en lugar de eso, recibí el mensaje "No puedo conectarme 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 ID/contraseña.

Tuve el mismo error, pero el problema no era exactamente el mismo. Quizás ú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 la producción, inserto este archivo Dinamicaly de un servidor, pero en el 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 Puede Conectarse 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 firma de códigos se rompe y el enlace con la tienda iTunes deja de funcionar directamente.

Para mí, el problema se solucionó cargando un binario. Como esa respuesta no se dio en esta página, lo que parece estar entre los mejores éxitos en Google, pensé que la agregaría.

NSLOG no funciona porque cuando inicia un proceso de demonio, no tiene ningún sockets estándar de IO o manijas de archivos adjuntas.Tienen que ser asignados específicamente.Un buen recurso para cómo crear un demonio adecuado y cómo escribir la consola y Syslog se proporciona en el libro "Programación avanzada de Mac OS X (Capítulo 20) por Dalrymple & Hillegass.

Han definen un programa de esqueleto que aborde los problemas de IO que resalta.Recordé leerlo hace un tiempo y pensé que tal vez algún día lo necesitaría.Los autores muestran una muestra utilizando el SYSLOG.H LIB utilizando OpenLog () y Syslog () para comunicaciones simples.También muestran algunos otros métodos de nivel inferior para la comunicación a los archivos e incluso los sockets (para servidores, etc.).

Siempre aprecio cuando alguien puede decirme cómo hacer algo en lugar de hacer referencia a algo, pero en este caso, eso es lo mejor que puedo hacer.buena suerte.

Compruebe si ha iniciado sesión en su cuenta personal de iTunes en la tienda de aplicaciones. Si es usted, 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, la firme de su cuenta personal en la App Store y luego intente comprar su artículo en la aplicación y luego use su cuenta de Sandbox. Esto resolvió mi problema.

Bueno, como de costumbre, "probé todas las soluciones disponibles y no ayudó" :) Así que aquí está mi opinión a esta colección ilimitada de piedras de tope:

Si la aplicación no está actualmente a la venta (por cualquier motivo), este error ocurre.

Recibí el mismo error, cuando llamé SKProductsRequest's start Método en mi prueba de prueba, se ejecutó- (void)request:(SKRequest *)request didFailWithError:(NSError *)error

Cuando llamé a mi envío de producción, es correcto y corrí- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response

Cerca charles ¡O cualquier software proxy HTTP lo antes posible! Cerca charles ¡O cualquier software proxy HTTP lo antes posible! Cerca charles ¡O cualquier software proxy HTTP lo antes posible!

Lo sabes ~

Había tenido el mismo problema, pero me resolví el siguiente modo:
- Estaba usando el emulador del iPhone 5S con iOS 8.4 (Este es el más importante. La conexión de Apple Store no funciona en el emulador iOS 11)
- En el emulador, encendí la siguiente configuración: Configuración/Desarrollador/Permitir los servicios HTTP (esto es para conexión a Internet)
- Temporalmente apagué el escudo web de Avast Antivirus (esto también es para la conexión a Internet)

los Preguntas frecuentes de compra en la aplicación tiene esta información:

No se puede conectar a la tienda de iTunes

El problema "No se puede conectar a iTunes Store" puede deberse a una o más de las siguientes razones:

  • El sandbox puede ser inalcanzable.
  • Su aplicación no tiene una versión de paquete (CFBundleVersion). Consulte Configuración del número de versión y la cadena de compilación para obtener más información.
  • Su aplicación se ejecuta en el simulador, que no admite la compra en la aplicación.
  • Está intentando comprar un producto que no esté disponible para la venta. Consulte la consulta de la tienda de aplicaciones para obtener información sobre el producto antes de presentar la interfaz de usuario de la tienda de su aplicación para obtener más información.

En mi caso, el error ocurrió porque estaba usando el simulador.

Incluso en el Guía de programación de compras en la aplicación dice usar el dispositivo de desarrollo iOS tiene un paso de prueba sugerido.

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:

  1. El sandbox puede ser inalcanzable.
  2. Su aplicación no tiene una versión de paquete (CFBundleVersion). Consulte Configuración del número de versión y la cadena de compilación para obtener más información.
  3. Su aplicación se ejecuta en el simulador, que no admite la compra en la aplicación.
  4. Está intentando comprar un producto que no esté disponible para la venta. Consulte la consulta de la tienda de aplicaciones para obtener información sobre el producto antes de presentar la interfaz de usuario de la tienda de su aplicación para obtener más información.

https://developer.apple.com/library/content/technotes/tn2413/_index.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top