2013-06-27 2 views
3

Пытаюсь использовать AFNetworkings ReachabilityStatusChanged но получаяHttpClient setReachabilityStatusChangedBlock не объявляет интерфейс

"Нет видимых @interface для HTTPClient не объявляет setReachabilityStatusChangeBlock селектор"

Но HttpClient имеет эту функцию. Кто-нибудь знает, почему это происходит?

AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://stat-api.herokuapp.com/"]]; 
[client setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status){ 

    NSLog(@"%d", status); 

}]; 

/// UPDATE ///////////

Вот мой файл .PCH

#ifdef __OBJC__ 
#import <UIKit/UIKit.h> 
#import <Foundation/Foundation.h> 
#import <CoreData/CoreData.h> 
#import "NSDate+Helper.h" 
#import "NSEntityDescription+RKAdditions.h" 
#import "UIAlertView+MKBlockAdditions.h" 
#import "UIActionSheet+MKBlockAdditions.h" 
#import "MKBlockAdditions.h" 
#import "NSObject+MKBlockAdditions.h" 
#import "NSString+Extra.h" 
#import "UIView+Additions.h" 
#import "ObjectiveSugar.h" 
#import "NSNotificationCenter+UniqueNotif.h" 
#import "STUIColor+Custom.h" 
#import "NSObject+STNSObjectAdditions.h" 
#import "UIView+Gradientcy.h" 
#import "NSString+USStateMap.h" 
#import "STUITextField.h" 
#import "UIImage+UIImageCrop.h" 
#import "UIBorderLabel.h" 
#import <SystemConfiguration/SystemConfiguration.h> 



#endif 
+0

Очистите свой проект и удалить Xcode полученных данных по мере необходимости. Если у вас правильно подключена и импортирована система SystemConfiguration, все должно работать нормально. – mattt

ответ

5

Move

#import <SystemConfiguration/SystemConfiguration.h> 

сразу после этой строки:

#ifdef __OBJC__ 
+0

Это моя проблема. Я предполагаю, что порядок компиляции имеет значение в моем .pch-файле, потому что он был 10-м, импортированным вместо 1-го, импортированного вызвал эту ошибку. Сначала он зафиксировал это. Чтобы проверить, я снова сделал 10-й импорт, и ошибка вернулась. – jdog

+1

+1 Я использую AFNetworking с RestKit, и теперь, когда я натолкнулся на это, думаю, имеет смысл поставить это перед '#import . – Jens

+0

@Jens большое спасибо! Это сработало для меня! – crojassoto

0

Вы уверены, что вы используете версию AFNetworking которые имеют этот метод?

Кроме того, проверить это предупреждение от the docs:

Предупреждение: Этот метод требует SystemConfiguration рамки.

Добавьте его в фазу сборки ссылки «Ссылка на двоичную копию с библиотекой» и добавьте #import <SystemConfiguration/SystemConfiguration.h> в префикс заголовка проекта (Prefix.pch).

+1

Я сделал именно это. – jdog

+0

Когда я нажимаю кнопку setReachabilityStatusChangeBlock, он возвращает меня к этому блоку кода. – jdog

+0

Вы уверены, что правильно добавили 'SystemConfiguration'? Поскольку этот метод находится внутри '#ifdef _SYSTEMCONFIGURATION_H', поэтому, если он не импортирован, метод не будет скомпилирован. –

Смежные вопросы