- Tienes dos problemas (o más).
- En primer lugar, cualquier cosa que intentes hacer para detectar un sistema con jailbreak podría ser interpretada por Apple como un intento de tu aplicación de violar las condiciones de la caja de arena, lo que podría hacer que tu aplicación sea rechazada. Por ejemplo, digamos que intentó detectar un sistema operativo con jailbreak mediante
if (-1 != open("/dev/random", O_RDONLY))
. Apple podría asumir que estás intentando leer desde /dev/random
y rechazarte.
- Cualquier cosa que podrías intentar hacer para detectar un sistema con jailbreak podría ser parchada por la comunidad de jailbreak. Por ejemplo, pueden parchear su kernel para prohibir que su aplicación abra
/dev/random
, porque saben que solo lo está haciendo para detectar un sistema operativo con jailbreak.
- ¿Qué más quieres hacer? No confías en el sistema operativo en el que te estás ejecutando, por lo que dejas de ejecutarlo.
En resumen, jailbreaking no es tu problema, es el problema de Apple. Permite que Apple resuelva sus problemas y concéntrate en resolver los tuyos. (Por cierto, me pregunto cómo las personas lanzaron software para PC si no confían en el iOS con jailbreak, cuando Windows y el iOS con jailbreak básicamente permiten que ocurran las mismas cosas).