¿Cuál es el motivo técnico por el que ARC solo es compatible con iOS 4.0 y versiones superiores?¿Por qué ARC solo funciona para iOS 4.0+?
Tengo entendido que es una característica del compilador, que simplemente inserta automáticamente el código relacionado con la administración de memoria en lugar de requerir que el desarrollador lo haga. Por lo que he leído, las llamadas en sí mismas siguen siendo las mismas, al menos eso es lo que implica Apples Transitioning to ARC Guide.
Como tal, no debería involucrar características que no han estado presentes en versiones anteriores de iOS, y de hecho ARC funciona con iOS 4.0 a pesar de haber sido presentado más tarde.
Estoy haciendo esta pregunta por curiosidad y realmente no necesito hacer que ARC funcione con iOS 3.x.
Es poco probable que ARC requiera alguna característica del x86-64 que falta en i386 que evita su imlementación. "Técnico", "marketing", "recurso", "gestión", "práctico", etc. son todos términos subjetivos. A menos que alguien de Apple elija recoger todas las respuestas a la pregunta del OP son, en el mejor de los casos, conjeturas. De hecho, diferentes personas en Apple, dependiendo de su función, ¡probablemente tengan diferentes motivos! No hay "claramente" al respecto, tenga en cuenta el uso de "probablemente" y "adivinar" en otras respuestas. – CRD
@CRD - Tal vez debería leer la documentación anterior de Apple donde dice: "Las aplicaciones para iPhone y los programas de 64 bits en Mac OS X v10.5 y posterior usan la versión moderna del tiempo de ejecución. Otros programas (programas de 32 bits en Mac) Escritorio OS X) usa la versión heredada del tiempo de ejecución ". Esto no se trata de x86-64 frente a i386, se trata de capacidades de tiempo de ejecución. Como ya mencioné, existen diferencias técnicas entre las versiones de tiempo de ejecución incluidas con cada sistema operativo, y se necesita una versión lo suficientemente nueva del tiempo de ejecución para admitir ARC. No es posible respaldar los tiempos de ejecución más recientes con versiones anteriores del sistema operativo. –
excepto que ARC no se ejecuta en 10.5 ... que usa el tiempo de ejecución moderno ... y ¿por qué el tiempo de ejecución moderno no se ejecuta en i386 ... etc. Terminaremos discutiendo Turing integridad próximamente :-) – CRD