对于一个项目,我必须使用AFNetworking。从github获得了新的副本,iOS示例项目似乎正在运行。
但是 - 当我将“AFNetworking”文件夹复制到新的Xcode项目并尝试进行http调用时,它会在AFHTTPClient的初始化程序中崩溃
所以在[AFHTTPClient initWithBaseURL:]中有这段代码:
#ifdef _SYSTEMCONFIGURATION_H
[self startMonitoringNetworkReachability];
#endif
它看起来真的很愚蠢,但
1)当我没有链接SystemConfiguration时 - 项目无法编译
(架构i386的未定义符号: “_SCNetworkReachabilityCreateWithName”,引自: - AFHTTPClient.o中的[AFHTTPClient startMonitoringNetworkReachability]
2)当我链接SystemConfiguration时 - 项目在运行时在startMonitoringNetworkReachability内与EXC_BAD_ACCESS崩溃:
SCNetworkReachabilitySetCallback(self.networkReachability, AFReachabilityCallback, &context);
有人有这个问题吗?从他们在github上赞美他们的lib的方式来看,我认为它会更加精致。
答案 0 :(得分:6)
如果你的baseURL是零,它会崩溃。
答案 1 :(得分:5)
此方法需要SystemConfiguration框架。将它添加到活动目标的“Link Binary With Library”构建阶段,并将#import添加到项目的头部前缀(Prefix.pch)。
您包含了该框架,但是您是否在项目的某处添加了#import <SystemConfiguration/SystemConfiguration.h>
?