Подтвердить что ты не робот

Добавление класса Reachability не удается, когда я пытаюсь построить

Я добавил систему SystemConfiguration. Я развертываю против целей от 3.2 и выше. Я забыл что-то добавить?

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_Reachability", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4b9b3361

Ответ 1

Хорошо, ключи находятся в отчете об ошибке, опубликованном вами.

При связывании (сообщение от компоновщика ld), которое возникает после компиляции всех символов в вашем проекте, в сообщении говорится:

"В AppDelegate вы ссылаетесь на объект класса с именем Достижимость"

"_OBJC_CLASS_$_Reachability"

и что касается компоновщика Достижимость - undefined.

Итак, убедитесь, что в вашем проекте компилируется Reachability. Это несколько способов сделать это. Возможно, самым ясным способом является enter image description here

1 выберите файл проекта в панели навигации

2 выберите цель

3 выберите Фазы сборки

4 Разверните раздел Скомпилировать источники

* Теперь проверьте список источников, которые будут скомпилированы для вашего отсутствующего класса, в вашем случае Reachability.m

Если он отсутствует, используйте кнопку +, чтобы добавить файл к цели.

Другой способ -

enter image description here

1 выберите файл, который, по вашему мнению, не компилируется

2 откройте панель служебных программ

3 выберите вкладку инспектора файлов

Будет установлен флажок для каждой цели в вашем проекте, и вы можете легко увидеть, скомпилирован ли ваш файл .m для всех/всех целей или нет.

Ответ 2

Возможно, вы забыли включить классы Reachability в свой проект!

Ответ 3

У меня была аналогичная проблема, когда я обновился до самой новой версии Mixpanel. Ошибка:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from:
      objc-class-ref in Mixpanel.o

Вы можете следить за решением Damo до последнего шага, а затем вместо расширения раздела Компилировать источники вам нужно развернуть раздел Link Binary With Libraries и добавьте источник CoreTelephony.framework, содержащий CTTelephonyNetworkInfo.

Подробнее о ссылке класса CTTelephonyNetworkInfo вы можете прочитать здесь на официальном сайте Apple: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Reference/CTTelephonyNetworkInfo/Reference/Reference.html