2012-03-10 24 views
7

Así que descubrí que ARC solo es compatible con dispositivos con iOS 4.0+.¿Cómo funciona mi aplicación ARC en iOS 3.x?

¿Cómo funciona mi aplicación (en la tienda) en dispositivos con iOS 3.0 entonces (definitivamente usando ARC)?

Estoy tan confundido.

Solución a continuación: Siempre que no utilice referencias débiles de puesta a cero, parece que el uso de ARC sigue funcionando con iOS 3.x, pero Apple simplemente no ha garantizado el resultado.

Respuesta

11

ARC es principalmente una característica de tiempo de compilación, el compilador inserta las llamadas release apropiadas. Las referencias débiles de puesta a cero AFAIK solo necesitan soporte de tiempo de ejecución. Entonces, siempre y cuando no los uses, estás en hielo delgado, pero puede funcionar.

+0

Hmm está bien. Gracias por aclarar eso. He votado positivamente pero aún no tengo el mínimo. –

+0

Consulte las [Notas de la versión en ARC] (https://developer.apple.com/library/mac/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html) –

1

Porque ARC funciona en tiempo de compilación para que pueda vincular con SDK 5.0 y admitir iOS 4.0 si lo desea. La aplicación se bloqueará en 4.0 si usa cualquier función que haya sido intruducida en 5.0.

+0

Probablemente mencione 3.0? –

+0

Nah, tiene que compilar las aplicaciones de ARC a 4.0, pero funcionarán en 3.0 hasta que llame a una función de un SDK más reciente, como explicó DarkDust. – fbernardo

+0

Ah, lo siento. No leí tu respuesta correctamente: dijiste que en 4.0 fallará si se usan las funciones 5.0. Mi mal - eso es cierto - sin embargo, realmente no es relevante para la pregunta de OP :) –

Cuestiones relacionadas