Quant au premier paragraphe : Oui, la version du système d'exploitation peut être modifiée (à vos propres risques) en ouvrant ledit fichier ( /System/Library/CoreServices/SystemVersion.plist
) avec un éditeur de plist de votre choix, puis en changeant la version de 5.1 à 6.0.1 ou ce que vous voulez.
Le type de périphérique ne peut pas - et même s'il le pouvait, ne devrait pas - être modifié, car il existe des versions pour chaque périphérique et si la version du système d'exploitation peut changer au fil du temps, le périphérique lui-même ne se transformera pas automatiquement en un autre périphérique. Il y a un fichier nommé d'après le périphérique que vous utilisez dans beaucoup de sous-dossiers de /CoreServices/
cependant. Dans le cas d'un iPod touch 4e génération, le nom serait le suivant N81ap.plist . Vous y trouverez les capacités de l'appareil.
EDIT :
Je viens de parler avec un de mes amis. Il m'a dit que oui, vous pouviez modifier la version. Mais il faudrait aussi changer la ProductBuildVersion - par exemple de 9B208 (iOS 5.1.1) à 10A523 (iOS 6.0.1). Mais ceci, bien sûr, pourrait conduire à un échec car l'application pourrait essayer d'utiliser des méthodes qui ne sont pas disponibles dans la version du système d'exploitation que vous prétendez utiliser. En copiant les valeurs de (par exemple) N81ap.plist vers #votreAppareil.plist, votre appareil obtient (théoriquement) les fonctionnalités de n81.ap. Cela pourrait également conduire à un échec, car Springboard (ou d'autres) pourrait avoir besoin de fonctions non disponibles pour le périphérique que vous utilisez réellement.
Pour certaines applications, il est cependant assez facile de définir le téléphone/appareil requis. Dans ce cas, vous devez rechercher une valeur telle que "requires telephony" ou similaire.