Рекламный вихрь и ДУГА

#iphone #automatic-ref-counting #autorelease #adwhirl

#iPhone #автоматический подсчет ссылок #авторелиз #рекламный вихрь

Вопрос:

Пытался преобразовать приложение для iOS, использующее AdWhirl, в ARC (автоматический подсчет ссылок). В AdWhirlView.m есть несколько вызовов автоматического выпуска, которые ARC запрещает.

Когда я переделал все свои платные приложения (в которых не было adwhirl) на ARC, XCode просто удалил мои сохранения, выпуски и авторелизы для меня, но что-то в способе написания кода в AdWhirlView.m заставило XCode приостановить работу, отметив, что «[перезаписывать] небезопасно удалять неиспользуемое сообщение «авторелиз»; его получатель может быть немедленно уничтожен».

Кто-нибудь может переписать AdWhirlView.m для корректной работы с ARC? Или я буду вынужден избегать объединения этих двух? =/

Заранее спасибо!

Комментарии:

1. Что мешает вам удалить авторелизы и исправить это самостоятельно?

2. Вы также можете просто добавить -fno-objc-arc к флагам компилятора для этого конкретного файла (см. область Фазы сборки в настройках целевой сборки).

3. Когда я переделал все свои платные приложения (в которых не было adwhirl) на ARC, XCode просто удалил мои сохранения, выпуски и авторелизы для меня, но что-то в способе написания кода в AdWhirlView.m заставило XCode приостановить работу, отметив, что «[перезаписывать] небезопасно удалять неиспользуемое сообщение «авторелиз»; его получатель может быть немедленно уничтожен». Очевидно, что я использую AdWhirl вместо того, чтобы писать свой собственный класс для показа рекламы в моем приложении, я полагаюсь на AdWhirl для выполнения этой работы, но я не знаю, как исправить их код

4. @ObjectiveFlash именно такая информация должна быть включена в ваш вопрос.

5. вы правы! извините за это — я обычно стараюсь быть достаточно полным в своих вопросах

Ответ №1:

Хорошо, я нашел способ обойти это…

Когда вы нажимаете «Преобразовать в Objective-C ARC», появляется меню под названием «Выбрать цели для преобразования».

Все, что вам нужно сделать, это развернуть список файлов, нажав на стрелку раскрывающегося списка, затем отменить выбор всех файлов AdWhirl.

XCode преобразует остальную часть вашего проекта в ARC, не выдавая ошибки при доступе к файлам AdWhirl.

Комментарии:

1. Затем XCode автоматически добавит «-fno-objc-arc», который Кевин опубликовал в качестве комментария выше, ко всем файлам, которые вы отменили