Estoy actualizando mi aplicación iOS con el código VerificationController de transacción sugerido por Apple para verificar compras en la aplicación debido al reciente "hack" publicado que permitió a las personas comprar compras in-ap sin pagar debido falsificar recibos de servidores Apple falsificados.aplicación está solicitando AppleID cuando se ejecuta
Tengo todo integrado, y ahora estoy probando. He ejecutado la aplicación varias veces y las cosas de verificación se han ejecutado varias veces.
Quiero probar todo sobre las compras, incluyendo el inicio de una nueva aplicación y AppleID. Así que borré completamente la aplicación de mi dispositivo de prueba. Creé un nuevo AppleID "usuario de prueba" en iTunes Connect. Fui a la aplicación de configuración en mi dispositivo de prueba, fui a la tienda y cambié el AppleID predeterminado para el dispositivo a este AppleID recién creado.
He vuelto a ejecutar la aplicación de Xcode con el depurador, que vuelve a instalar la aplicación en el dispositivo de prueba y la ejecuta de forma nueva.
El problema es que, casi inmediatamente después del lanzamiento, el dispositivo de prueba muestra la contraseña de AppleID Alert-type y solicita la contraseña del antiguo AppleID que utilicé originalmente para probar todo, incluida la compra original en la aplicación y el verificación para ello. No solicita la contraseña del nuevo dispositivo AppleID como se establece en la aplicación de configuración en la tienda.
Cuando corro como una nueva aplicación, el código de verificación no se ejecuta y no hay código de cualquiera de mis rutinas que hacer nada con las cosas de Apple StoreKit está dirigido a excepción de un solitario
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];
(observador es mi objeto delegado para el material de StoreKit y se crea pero no se ejecutan rutinas excepto init e init no hace nada excepto establecer una variable estática para crear una clase de tipo singleton)
Para fines de comprobación, también agregué en
NSLog(@"in App Delegate, payment queue transactions are %@", [[SKPaymentQueue defaultQueue] transactions]);
que no muestra ninguna transacción antigua.
No tengo ni idea de por qué ha comenzado a solicitar mi AppleID del usuario de prueba original cuando la aplicación se acaba de instalar, el AppleID para la tienda del dispositivo es diferente y no puedo identificar ningún código que se ejecute accede al StoreKit (excepto como se menciona arriba).
CUALQUIER información apreciada sería apreciada.
ETA: Tocar CANCELAR en el cuadro de diálogo de contraseña no causa ningún código adicional para ejecutarse en la aplicación y no impide que la aplicación se ejecute.
Si, a continuación, voy a la pantalla de compra en la aplicación (donde la aplicación consulta la tienda para ver las compras disponibles en la aplicación), vuelve a solicitar la contraseña de la misma manera que en el VIEJO AppleID. Puedo cancelar y nada parece suceder. Si toco el botón "restaurar compras" en mi aplicación, entonces solicita la contraseña en el nuevo AppleID tal como se configuró en la configuración de la Tienda. No he pasado de este punto porque quiero entender lo que está pasando y no quiero estropear las cosas completando/intentando la restauración o compra bajo el nuevo AppleID.
Gracias
¿Lo ha resuelto de alguna manera? –
@bluesm Nunca resolví el problema y ya no uso realmente el dispositivo con el que estaba teniendo problemas. Lo siento. Eventualmente, puedo tratar de volver, ya que todavía tengo ese dispositivo en un cajón ... – chadbag