iPhone - при использовании Reachability выдается ошибка _OBJC_IVAR с повторяющимся символом - PullRequest
6 голосов
/ 03 февраля 2011

Я добавил файлы Apple Reachability в свой проект и уже получаю ошибки. Я даже не добавил эти файлы ни в один из моих классов, только добавил их в свой проект. Как я мог уже получить эту ошибку?

При компиляции я получаю следующую ошибку:

ld: duplicate symbol _OBJC_IVAR_$_Reachability.localWiFiRef in /Users/webmaster/Dropbox/iPhone-Development/Official-Projects/PUC/build/PUC.build/Debug-iphonesimulator/PUC.build/Objects-normal/i386/Reachability-B40F6D608A62C635.o and /Users/webmaster/Dropbox/iPhone-Development/Official-Projects/PUC/build/PUC.build/Debug-iphonesimulator/PUC.build/Objects-normal/i386/Reachability-823B59DA9A9B0D23.o
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

Примечание: я использую проект Three20, поэтому я не уверен, что он может как-то конфликтовать?

Ответы [ 2 ]

8 голосов
/ 03 февраля 2011

Итак, я понял это.Я понял, что, поскольку я использую ShareKit, он также включает в себя Reachability, поэтому он был в моем проекте дважды, я просто не осознавал этого.

0 голосов
/ 03 февраля 2011

Вам нужно # импортировать .h вашего пользовательского класса в ваш .m. В противном случае #import "Reachability.h" происходит дважды, и, я полагаю, существует переменная localWiFiRef, определенная в Reachability.h, которая теперь объявляется beind дважды, и, следовательно, возникает ошибка "дублированный символ".

При этом вам не нужно #import "Reachability.h" в .m.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...