Использование кода без ARC в проекте с поддержкой ARC - Добавление Facebook - PullRequest
10 голосов
/ 02 января 2012

Когда я создал свой проект, я создал его для поддержки 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

Мне нужна помощь, я не могу повторить это снова.

Ответы [ 2 ]

20 голосов
/ 02 января 2012

Убедитесь, что вы добавили флаг -fno-objc-arc в каждый файл реализации (файл .m).

Затем очистите проект (меню «Проект» -> очистить) и выполните сборку заново. Мне иногда приходилось чистить и строить дважды, когда я делал это в классе. Похоже, небольшая ошибка.

3 голосов
/ 02 февраля 2012

Существует довольно простой способ работы со смешанной ARC и Facebook без ARC.см. мой пост о том, как его использовать http://nabtech.wordpress.com/2012/02/02/facebook-ios-sdk-and-arc/

...