Лексическая проблема или проблема с препроцессором в AFNetworking Framework

В проекте, в который я добавил AFNetworking, я продолжаю получать ошибки сборки, как на изображении ниже.

Я пробовал обычное удаление папки build/ и перезапуск xcode, удаление и повторное добавление фреймворка, очистку и сборку. Я также попытался добавить следующий код в свой файл Project-Prefix.pch:

#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
//START - ADDING IMPORT FOR ALL TARGETS DUE TO AFNETWORKING
#import <Cocoa/Cocoa.h>
#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>
//END
#endif

Но и это, похоже, не решает проблему. Затем я попытался удалить AFNetworking из проекта, но он все еще получает эту лексическую ошибку при попытке сборки.

лексические ошибки или ошибки препроцессора

Я видел эти ошибки компиляции раньше в XCode 4, и обычно они исправлялись путем выхода из xcode и удаления папки build/, а затем повторной сборки проекта. Но на этот раз это не работает.

Я не понимаю, к чему относится ошибка и как ее исправить. Это может быть вызвано не AFNetworking.

Может ли кто-нибудь помочь мне понять это?


person motionpotion    schedule 18.08.2013    source источник
comment
Помог ли ответ решить проблему или вопрос все еще открыт?   -  person Tommie C.    schedule 14.12.2013


Ответы (2)


Сообщения об ошибках компоновщика обычно означают, что вам не хватает некоторых фреймворков, на которые ссылается ваш код, но которые вы не добавили в список фреймворков.

Вы можете добавить эти фреймворки в Xcode 5, выбрав «Навигатор файлов» > «Проект» > «Фазы сборки» > «Связать двоичный файл с библиотеками» (затем введите отсутствующую библиотеку).

person Tommie C.    schedule 26.10.2013

Чтобы исправить это, мне пришлось отредактировать файл .pch и добавить следующие строки:

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
    #import <SystemConfiguration/SystemConfiguration.h>
    #import <MobileCoreServices/MobileCoreServices.h>
#endif

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

person motionpotion    schedule 14.12.2013