Como otros han sugerido, en lugar de seleccionar para un dispositivo específico (que se romperá cuando Apple distribuya las variaciones o el siguiente modelo), debe enfocarse en las capacidades que necesita. Casi las únicas aplicaciones de iPhone que se rompieron cuando se lanzó el iPad fueron las que sí detectaron el modelo de hardware, porque no tenían idea de que el iPad venía y por lo tanto no podían buscar esa ID de dispositivo específica.
Si su aplicación absolutamente no se puede ejecutar en un iPhone 4, debido a los requisitos de hardware específicos como Bluetooth 4.0 apoyo de baja potencia, que sería mejor servido para añadir el bluetooth-le
a su UIRequiredDeviceCapabilities
en su Info.plist, como describo here . Eso evitará que los usuarios instalen su aplicación en un dispositivo que no sea 4S, pero deja abierta la posibilidad de que esto funcione para futuros iPhones que probablemente tengan hardware Bluetooth Low Power.
Si necesita escalar las capacidades del hardware para tomar ventaja de la A5, es posible que desee ver en la comprobación de apoyo a algunas de las nuevas extensiones OpenGL ES que la A5 dispone, mediante el uso de glGetString(GL_EXTENSIONS)
y la comprobación de extensiones como APPLE_shadow_samplers
. Estas extensiones no están presentes en el A4, pero están en el A5 y deberían estar ahí para las próximas dos iteraciones del hardware de Apple.
Es posible que también pueda utilizar el nuevo marco Core Bluetooth levemente documentado para probar la presencia del hardware 4.0 Low Power en su dispositivo en tiempo de ejecución, pero no he pasado mucho tiempo con ese marco.
posible duplicado de [¿Cómo saber si su código se está ejecutando en un iPhone o un iPhone3G?] (Http://stackoverflow.com/questions/688001/how-to-tell-if-your-code-is- running-on-a-iphone-or-a-iphone3g) –
¿Me atrevo a preguntar por qué? –