Nunca he implementado In App Purchase antes, así que utilicé el contenedor MKStoreKit y tengo una implementación en funcionamiento. MKStoreKit mantiene todos los recibos en UserDefaults .plist como BOOL, por lo que es muy simple para los piratas distribuir las compras en la aplicación en un estado "agrietado". Una vez que se realiza la primera compra, el paquete se puede distribuir y .plist se puede volver a crear para permitir que IAP se desbloquee.Almacenar en App Comprar recibos en la aplicación Keychain
Me gustaría extender MKStoreKit para crear los datos de validación en la compra de aplicaciones en el llavero de iOS. ¿Hay alguna desventaja o posible razón para que esto no funcione para los usuarios que pagan, no sea confiable o cualquier otra razón por la que sería una mala idea general hacer esto? Entiendo que la piratería es inevitable, y definitivamente no quiero alienar a los usuarios que pagan, pero creo que la lista de UserDefaults es demasiado fácil de eludir.
En mi caso, una cadena simple se pondría en el llavero cuando se realiza la compra. De esta forma, si el binario se distribuye, los desbloqueables no están habilitados. Claro, sería posible encontrar una solución, pero tomaría un poco más de esfuerzo y sabría cómo encontrar la bandera VERDADERO/FALSO y hacer que siempre devuelva el valor correcto. A través de la ofuscación podría incluso hacer que sea un poco más difícil rastrear eso.
Gracias por todos sus comentarios y agradezco las respuestas que evitan las respuestas obligatorias inevitables de piratería y trato oportuno. Estoy más interesado en las viabilidades técnicas de esta solución.
+1 Esto es relevante para mis intereses. Actualmente agrego algo de cadena (como sal) al identificador del dispositivo y md5 todo eso junto y lo almacena en los valores predeterminados del usuario. –
Muy bueno. De esta forma, no se autenticará en otro dispositivo sin tener credenciales de iTunes. – Justin
Para el registro, no estoy seguro si estuvo involucrado o no, pero MKStoreKit ahora crea datos de validación en el llavero de iOS. – SAHM