Могу ли я построить каркас ARC и использовать его в не-ARC проекте? - PullRequest
8 голосов
/ 01 ноября 2011

Я думаю, что заголовок довольно хорошо объясняет мой вопрос, в настоящее время я работаю над небольшой платформой для моих личных нужд и подумываю построить ее с ARC (если это вообще возможно?) И использовать ее в старых проектах, которые были построены до ARC?

Ответы [ 3 ]

7 голосов
/ 03 ноября 2011

Да, с одной оговоркой: если у вас iOS 4.x в качестве цели развертывания, необходима дополнительная библиотека для работы с ARC-скомпилированным кодом в более старой среде выполнения. Для приложения, созданного с использованием ARC, оно поставляется вместе с приложением. Это не включено, если вы используете ARC-скомпилированную библиотеку в не-ARC приложении.

Вы можете вручную связать эту библиотеку с приложением, отличным от ARC, чтобы избежать проблем во время выполнения в старых версиях ОС, добавив -fobjc-arc к другим флажкам компоновщика для приложения.

См. эту ветку форумов Apple для разработчиков , чтобы подробнее обсудить эту тему.

2 голосов
/ 23 марта 2012

Вы можете сделать ссылку на библиотеку клея, предоставленную Apple (как сказал Брэд в своем ответе выше).Однако квалификатор переменной __weak несовместим с операционными системами ниже 4.3 (как уже упоминалось: Рекомендация по iOS 5 (выпуск / сохранение?) в комментарии sudo).

1 голос
/ 01 ноября 2011

должно быть в порядке. Библиотека уже скомпилирована, поэтому ARC / NonARC больше не должны иметь значения.

...