Estoy escribiendo código relacionado con StoreKit y obtengo algunos códigos de error bastante preocupantes cuando intento agregar una compra a la cola.
Hasta ahora, he experimentado los códigos de error -1003 y -1004 y no puedo encontrar nada sobre esos códigos en Internet.
La ejecución de una solicitud de producto devuelve números de producto válidos, por lo que no sé por qué [[SKPaymentQueue defaultQueue] addPayment:aPayment];
fallan las llamadas a con este problema indocumentado.
El mismo código también funciona sin errores en un dispositivo pero no en otro.
Las preguntas que tengo, hasta el momento, no han sido respondidas:
¿Qué significan estos códigos? ¿Cómo puedo mitigar este problema? ¿Por qué ocurren para los intentos de compra y no para las solicitudes de productos?
La solución de problemas que he realizado incluye la regeneración de un certificado de firma y un perfil de aprovisionamiento, el cambio de redes WiFi, la limpieza, la construcción y la reinstalación de todo el software y los componentes relacionados, y ninguna de estas cosas, individualmente o juntas, ha ayudado a solucionar el problema.
EDITAR:
Encontré una discusión sobre esto en los foros de desarrollo de Apple, pero nadie de Apple respondió: https://devforums.apple.com/thread/107121?tstart=75 (se requiere una cuenta de desarrollador de iOS para ver)
EDITAR:
Hoy recibí el código de error -1001, para agregar a esta lista de problemas inexplicables e intermitentes. Todavía no hay responsabilidad de Apple, que puedo encontrar.
EDITAR:
Tengo la sospecha de que estos códigos de error se generan aleatoriamente y en realidad solo indican que el Sandbox no funciona. ¿Alguien más experimentó este problema?
fuente
NSURLErrorUnknown
sí. ¿Alguna pista?Tengo problemas similares, en mi caso parecen estar relacionados con la conectividad de la red:
Cosas para comprobar:
Lo siento, no tengo ideas de cómo solucionarlo. Solo depurando esto, tratando de averiguar cuál es el problema (-1021, -1001, -1009)
Actualización: la búsqueda de Google fue muy amable al encontrar esto:
fuente
ver NSURLError.h Definir
fuente
Utilizo el siguiente método en mi proyecto
Luego, solo verifico el código de error y muestro una alerta si está en la lista
Pero como puede ver, comenté códigos que creo que no se ajustan a mi definición de NO INTERNET. Por ejemplo, el código de -1012 (Fallo de autenticación). Puede editar la lista como desee.
En mi proyecto lo uso como nombre de usuario / contraseña ingresando desde el usuario. Y en mi opinión, los errores de conexión de red (física) podrían ser la única razón para mostrar la vista de alerta en su aplicación basada en red. En cualquier otro caso (por ejemplo, un par de nombre de usuario / contraseña incorrecto), prefiero hacer una animación personalizada y fácil de usar, O simplemente repetir el intento fallido nuevamente sin la atención del usuario. Especialmente si el usuario no inició explícitamente una llamada de red.
Atentamente martinezdelariva por un enlace a la documentación.
fuente
Encontré un nuevo código de error que no está documentado anteriormente: CFNetworkErrorCode -1022
fuente
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
Encontré esta página en la documentación que tiene una enumeración de objetivo-c para todos los códigos de error bajo NSURLErrorDomain.
https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Misiverse/Foundation_Constants/index.html#//apple_ref/doc/constant_group/URL_Loading_System_Error_Codes
fuente