2012-09-25 16 views
7

Desde Xcode 4.5, no podemos construir para armv6 y, por lo tanto, ya no podemos admitir dispositivos como iPhone 3G.¿Es compatible tanto con armv6 como con iOS 6 en una aplicación App Store?

¿Sería posible usar, por ejemplo, Xcode 4.3 para generar un binario armv6 correctamente firmado y luego usar lipo para combinar ese binario y el binario armv7 generado por Xcode-4.5 en uno gordo?

¿Cómo podría hacerlo? ¿Alguien sabe un buen tutorial?

¿El binario gordo resultante podría enviarse a la App Store?

+0

No creo que esto sea posible, a menos que haya intentado jugar con los archivos creados de Xcode. –

+1

Aunque no es exactamente la misma pregunta que la tuya, consulta la respuesta de Mike a la pregunta [Cómo admitir a armv6 y a los armv7s para la compilación de versiones en xcode 4.5] (http://stackoverflow.com/questions/12619124/how-to- support-both-armv6-and-armv7s-for-release-build-in-xcode-4-5). Describe un proceso para crear binarios tanto de armv6 como de iOS 6.0, luego los combina de una manera que funciona para las aplicaciones enviadas a la App Store. –

Respuesta

0

Parece que alguien más descubrió cómo hacerlo, vea this SO question.

No lo he probado todavía, sin embargo.

5

La firma del código ya no coincidiría después de modificar un binario con lipo. Por lo tanto, el paquete debería volver a codificarse después.

Las aplicaciones creadas con Xcode 4.4 e incluso antes todavía funcionarán bien en dispositivos iOS 6; y hay informes de que Apple todavía está aceptando aplicaciones creadas con iOS 5.1 SDK.

El objetivo C le permitirá utilizar algunas de las API más nuevas que no se encuentran en los marcos vinculados más antiguos llamándolos a través del tiempo de ejecución de Objective C por su nombre. (¡Por supuesto, primero la aplicación debería verificar su disponibilidad en el dispositivo actual!)

Incluso puede admitir la nueva pantalla del iPhone 5 de un Xcode anterior y anterior a iOS 6 incluyendo simplemente un 568 @ 2x alto Imagen predeterminada en el paquete de la aplicación, y configuración de todas las ventanas de la aplicación y visualización de tamaños y propiedades de cambio de tamaño correctamente. ACTUALIZACIÓN: Apple ya no acepta aplicaciones creadas de esta manera cuando se envía a iTunes App Store.

AÑADIDOS: Otra posible solución es dividir su desarrollo en dos aplicaciones similares. Uno para iOS 4.3 y superior. Y uno para iOS 4.2.xy menor con soporte para iOS 6 y iPhone 5. Dos aplicaciones diferentes en la tienda de aplicaciones. Sin embargo, se desconoce si Apple permitirá esto.

+0

Usar las características de iOS 6 SDK mientras se enlaza con iOS 5.1 SDK no suena como una forma muy sólida de hacer las cosas, ¿o sí? Preferiría una solución donde pueda construir versiones de armv6 y armv7 de forma independiente. En cuanto a la asignación de nombres: ¿hay forma de codificar el paquete después de crear el binario grueso? – tajmahal

+1

FYI: Apple declarará su binario "Inválido" si tiene la imagen predeterminada 568 @ 2x en un SDK anterior a iOS-6. Voy por el camino de tener dos aplicaciones –

+0

¿Hay alguna manera de volver a codificar manualmente el paquete después de modificarlo con lipo? – tajmahal

Cuestiones relacionadas