Compruebe si hay "Release Build" en tiempo de ejecución

Estoy creando un .framework (o una biblioteca estática) para un componente que desarrollé y que me gustaría vender a terceros.

Planeaba agregar algún código para proteger el marco contra la reutilización no autorizada, la redistribución o la reventa.

Creo que una buena manera de lograr esto sería pedirle al comprador que me diga cuál es el ID de paquete de la aplicación que usará el marco, guárdelo en el marco como una propiedad NSString y cree un método que verifique en tiempo de ejecución si el ID de paquete de la aplicación que utiliza el marco coincide o no.

Sin embargo, también me gustaría que el marco esté disponible para probar de forma gratuita. Por lo tanto, quiero habilitar la verificación de ID de paquete solo cuando la aplicación que contiene se compile en modo liberado, o cuando la aplicación se ejecuta en el dispositivo del usuario final, fuera del entorno limitado de desarrollo.

Por supuesto, no puedo usar ningún método que se base en variables o macros establecidas en el archivo de proyecto, porque serían demasiado fáciles de explotar. Necesito hacerlo en el tiempo de ejecución ... y sin que el comprador necesite ninguna acción.

¿Hay alguna forma de verificar en tiempo de ejecución si una aplicación se está ejecutando en la zona de pruebas para desarrolladores o no? ¿O si se ha creado una aplicación con el perfil de compilación de lanzamiento?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta