在 AFNetworking 中,#ifdef _SYSTEMCONFIGURATION_H 是什么意思?
In AFNetworking, what does #ifdef _SYSTEMCONFIGURATION_H mean?
这张支票在我的 AFHTTPClient.m 文件中。该检查实际上在整个文件和 .h 文件中使用得非常频繁。在一种情况下,它会这样做:
#ifdef _SYSTEMCONFIGURATION_H
self.networkReachabilityStatus = AFNetworkReachabilityStatusUnknown;
[self startMonitoringNetworkReachability];
#endif
这仍然是 AFNetworking 的 1.X 版本。
谢谢!
我相信这是一个预处理器语句,用于检查您是否已将项目与 SystemConfiguration 框架链接起来。如果不是,我认为 AFNetworking 遗漏了一些功能,或者它可能给了您一个很好的警告,以确保您不会忘记包含此框架,以便 AFNetworking 可以按预期工作。
更新
#ifdef _SYSTEMCONFIGURATION_H
#import <netinet/in.h>
#import <netinet6/in6.h>
#import <arpa/inet.h>
#import <ifaddrs.h>
#import <netdb.h>
#endif
那么如果 _SYSTEMCONFIGURATION_H 被定义(在 SystemConfiguration 框架内部),那么 AFNetworking 知道你在你的项目中包含了这个框架,所以它导入了一堆东西来使用它的。否则不是。这意味着如果您不想,则不必包含此框架。
要解决这个问题,请输入
#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>
在导入 AFNetworking 之前。
这张支票在我的 AFHTTPClient.m 文件中。该检查实际上在整个文件和 .h 文件中使用得非常频繁。在一种情况下,它会这样做:
#ifdef _SYSTEMCONFIGURATION_H
self.networkReachabilityStatus = AFNetworkReachabilityStatusUnknown;
[self startMonitoringNetworkReachability];
#endif
这仍然是 AFNetworking 的 1.X 版本。
谢谢!
我相信这是一个预处理器语句,用于检查您是否已将项目与 SystemConfiguration 框架链接起来。如果不是,我认为 AFNetworking 遗漏了一些功能,或者它可能给了您一个很好的警告,以确保您不会忘记包含此框架,以便 AFNetworking 可以按预期工作。
更新
#ifdef _SYSTEMCONFIGURATION_H
#import <netinet/in.h>
#import <netinet6/in6.h>
#import <arpa/inet.h>
#import <ifaddrs.h>
#import <netdb.h>
#endif
那么如果 _SYSTEMCONFIGURATION_H 被定义(在 SystemConfiguration 框架内部),那么 AFNetworking 知道你在你的项目中包含了这个框架,所以它导入了一堆东西来使用它的。否则不是。这意味着如果您不想,则不必包含此框架。
要解决这个问题,请输入
#import <SystemConfiguration/SystemConfiguration.h>
#import <MobileCoreServices/MobileCoreServices.h>
在导入 AFNetworking 之前。