ios in-app-purchase ios8-today-widget today-extension rmstore

iOS en la aplicación de compra+Widget Extensión de hoy



in-app-purchase ios8-today-widget (1)

Así que tengo una aplicación que requiere una suscripción (a través de un IAP), y proporciona un widget para hoy. Dentro del widget (así como dentro de la aplicación), uso RMStore para verificar el recibo de la aplicación en el paquete para una suscripción activa. Funciona bien en la caja de arena, incluso cuando se instala a través de TestFlight. Pero hoy, la aplicación fue aprobada por Apple, y tan pronto como probé la versión en vivo en la tienda, mientras la aplicación principal vio las compras del usuario en el recibo de la aplicación, la Extensión Hoy no estaba leyendo el recibo de la aplicación. y por lo tanto no encontró ninguna suscripción!

Tanto la Extensión Hoy como la aplicación principal están usando exactamente el mismo código para leer el recibo de la aplicación y buscar información de suscripción. ¿Por qué demonios funcionaría en la aplicación principal pero no en la extensión? ¿Es este un problema conocido? ¿Es algo que ver con RMStore en lugar de StoreKit? ¿Hay algo inteligente / diferente que tengo que hacer?

Estoy pensando que tal vez el problema tenga que ver con la verificación del recibo: ¿sería algo como que el identificador del paquete sea diferente en la caja de arena frente a la App Store para la extensión, por ejemplo?

Esto es realmente frustrante, ya que, literalmente, no hay forma de probar ninguna solución potencial sin volver a enviarla a la App Store, luego probarla una vez que se lanzó, y retirarla de la tienda si está dañada, de lo contrario, los usuarios pagarán algo que realmente no consiguen.


Todos los recibos (compra de la aplicación y compra / s dentro de la aplicación) se almacenan en un archivo dentro del paquete de la aplicación. La extensión de la aplicación reside en un paquete que está anidado dentro del paquete de la aplicación, por lo que me sorprendería si tuviera acceso al archivo de recibo en el paquete externo (pero vale la pena verificarlo llamando a appStoreReceiptURL ).

Por lo tanto, la información sobre el recibo (es decir, el recibo mismo o algún resultado del procesamiento del recibo) debe pasar de la aplicación que lo contiene a la extensión a través de los medios habituales, es decir, usar un contenedor compartido y tal vez la coordinación de archivos .