我的 pod 文件如下所示:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'RestKit'
pod 'CocoaLumberjack'
在我的 App 委托之上,我添加了:
#import <RestKit/RestKit.h>
在应用程序中:didFinishLaunchingWithOptions:我添加了这个:
RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[NSString class]];
到目前为止它编译得很好,然后我补充说:
AFHTTPClient* client = [[AFHTTPClient alloc] initWithBaseURL:[[NSURL alloc] initWithString:@"asdf"]];
再次,工作正常,然后我尝试了可达性:
[client setReachabilityStatusChangeBlock: ^(AFNetworkReachabilityStatus status)
{
NSLog(@"Reachability status changed");
}];
不幸的是,这无法编译并给出以下错误:
'AFHTTPClient' 没有可见的@interface 声明选择器'setReachabilityStatusChangeBlock:'
我去检查为什么会这样,发现这个方法的编译是由_SYSTEMCONFIGURATION_H
宏保护的,在这种情况下由于某种原因解析为 false。我试图将我的项目与 SystemConfiguration 框架链接起来,但这没有帮助。我的假设是 RestKit 应该在编译时与其链接,当我检查 RestKit pod 时,SystemConfiguration 确实存在于 Link Binary with Libraries 阶段。任何想法为什么这不起作用?
Xcode7b5, cocoapods 0.38.2 示例项目可以在这里找到。