2012-03-10 1 views
7

Итак, я только узнал, что ARC поддерживается только для устройств под управлением iOS 4.0+.Как мое приложение ARC работает в iOS 3.x?

Как мое приложение (в магазине) работает на устройствах под управлением iOS 3.0 (определенно, используя ARC)?

Я так смущен.

Решение снизу: до тех пор, пока я не использую обнуление слабых ссылок, кажется, что использование ARC по-прежнему работает с iOS 3.x, но Apple просто не гарантирует результат.

ответ

11

ARC в основном функция времени компиляции, компилятор вставляет соответствующие вызовы release. AFAIK только обнуление слабых ссылок требует поддержки во время выполнения. Так долго, как вы не используете те, что вы на тонком льду, но он может работать.

+0

Хмм хорошо. Спасибо, что поняли это. Я бы поднял голову, но у меня еще нет минимума. –

+0

Проверьте [Примечания к выпуску в ARC] (https://developer.apple.com/library/mac/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html) –

1

Поскольку ARC работает во время компиляции, поэтому вы можете установить связь с SDK 5.0 и поддерживать iOS 4.0, если хотите. Приложение будет разбиваться на 4.0, если вы используете какую-либо функцию, которая была введена в 5.0.

+0

Возможно, вы используете 3.0? –

+0

Ну, вам нужно скомпилировать приложение ARC в 4.0, но они будут работать с 3.0 до тех пор, пока вы не вызовете функцию более недавнего SDK, точно так же, как пояснил DarkDust. – fbernardo

+0

Ах, извините. Я не правильно прочитал ваш ответ - вы сказали, что он на 4.0 сработает, если будут использованы функции 5.0. Мой плохой - это правда - на самом деле не актуально для вопроса OP :) –

Смежные вопросы