Anche se si potesse ingannare l'app, si bloccherebbe non appena avrà chiamato una parte del sistema esistente in iOS 5 ma non in iOS 4. La modifica del file dovrebbe essere entrambi i requisiti della versione principale controllare così come eventuali controlli interni che l'app fa per determinare le capacità e le API presenti su quel dispositivo durante l'esecuzione del programma. Non conosco nessuno sviluppatore che abbia appena detto di aver bisogno di iOS 5 per dispetto nei confronti delle persone che eseguono le versioni 4, 3 e 2 di iOS. È sempre stato perché hanno bisogno di funzionalità e strutture di codice aggiunte in iOS 5 e non potevano codificarle attorno al programma. Quando uno sviluppatore può farlo, cambia la sua app per lavorare su più versioni os e ti fa sapere che la funzione X è disabilitata o funziona in modo diverso quando è in esecuzione su iOS 4. Per gli sviluppatori che vogliono utilizzare gli ultimi strumenti di iOS, in realtà è più lavorare per loro per mantenere il supporto del sistema operativo più vecchio in ogni build, quindi ci deve essere una buona ragione finanziaria per continuare a fare quel lavoro in molti casi.
Pensa al test della versione iOS come sigillare una porta che non si apre da nessuna parte al terzo piano di un edificio quando le scale antincendio (o balcone o altro) non sono ancora state costruite. Quando il programma ti inganna pensando che è in esecuzione su iOS 5.x chiama sul codice che non esiste, l'app si blocca.
Apple ha progettato il controllo della versione per "bloccare la porta o forse l'intera ala di quell'edificio" in modo molto visibile. Evitando questo controllo, è come rimuovere i segnali di "pericolo / pericolo" e le parentesi graffe di legno inchiodate che coprono l'apertura e lasciare che qualcuno esca dall'aria da quella porta del terzo piano verso il nulla.