En cuanto al primer párrafo: Sí, la versión del sistema operativo se puede cambiar (a su propio riesgo) abriendo dicho archivo ( /System/Library/CoreServices/SystemVersion.plist
) con un editor de plist de su elección y luego cambiando la versión de 5.1 a 6.0.1 o lo que sea que quieras.
Sin embargo, el tipo de dispositivo no puede, e incluso si pudiera, no debería cambiarse, ya que hay versiones para todos y cada uno de los dispositivos y si bien la versión del sistema operativo puede cambiar con el tiempo, el dispositivo en sí obviamente no funcionará. Automáticamente se transforma en otro dispositivo. Sin embargo, hay un archivo llamado después del dispositivo que está utilizando en muchas de las subcarpetas de /CoreServices/
. En el caso de un iPod touch de 4ª generación, el nombre sería N81ap.plist . Allí encontrará las capacidades del dispositivo.
EDITAR:
Acabo de hablar con un amigo mío. Me dijo que sí, que podías modificar la versión. Pero también tendría que cambiar ProductBuildVersion, por ejemplo, de 9B208 (iOS 5.1.1) a 10A523 (iOS 6.0.1). Pero esto, por supuesto, puede llevar al fracaso porque la aplicación podría intentar utilizar métodos que no están disponibles en la versión del sistema operativo que pretende utilizar.
Al copiar los valores de (por ejemplo) N81ap.plist en # yourDevice.plist, su dispositivo (teóricamente) obtiene las características de n81.ap. Esto también podría provocar fallas, ya que Springboard (u otras personas) puede necesitar funciones que no están disponibles para el dispositivo que realmente está usando.
Sin embargo, para algunas aplicaciones, es bastante fácil configurar el teléfono / dispositivo requerido. En ese caso, tendría que buscar un valor como "requiere telefonía" o similar.