Использование кода без ARC в проекте с поддержкой ARC - добавление Facebook
Когда я создал свой проект, я сделал его поддержкой ARC
, поэтому мой проект будет поддерживать iOS 4.3 и выше.
Теперь мне нужно интегрировать Twitter и Facebook. Обе платформы Facebook и Twitter, данные компаниями, не поддерживают ARC
.
Большинство файлов имеют dealloc и освобождают его переменные. Некоторые говорят об отказе от проекта и повторить его отключение ARC. Но я не могу позволить себе это сделать, так как я сделал большую часть этого материала.
Я добавил файлы FBConnect
(их было 4) и добавил -fno-objc-arc
, как описано в этом учебнике. Тем не менее я получаю
file://localhost/Users/illepmorgan/Documents/Projects/illep/untitled%20folder/alphaproject/alphaproject/FBRequest.m: error: Automatic Reference Counting Issue: Existing ivar '_delegate' for unsafe_unretained property 'delegate' must be __unsafe_unretained
Мне нужна помощь, я не могу повторить это снова.
Ответы
Ответ 1
Убедитесь, что вы добавили флаг -fno-objc-arc в каждый файл реализации (файл .m).
Затем очистите проект (меню проекта → очистить) и снова создайте. Иногда мне приходилось чистить и строить дважды, когда делали это в классе. Кажется, это небольшая ошибка.
Ответ 2
на самом деле существует очень простой способ работы с смешанными ARC и Facebook ни с одним ARC.
см. мой пост о том, как его использовать
http://nabtech.wordpress.com/2012/02/02/facebook-ios-sdk-and-arc/