我正在使用Quickblox SDK并开发基于iOS的应用。
目前,我无法使用新的API(阻止声明) 我必须使用弃用的,委托方式。
当我尝试使用NewAPI格式调用create session时发生这种情况
[QBRequest createSessionWithSuccessBlock:^(QBResponse *response, QBASession *session) {
NSLog(@"Successfull response!");
} errorBlock:^(QBResponse *response) {
NSLog(@"Response error: %@", response.error);
}];
它返回了
+[QBRequest createSessionWithSuccessBlock:errorBlock:]:
unrecognized selector sent to class 0x2a5798
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '+[QBRequest createSessionWithSuccessBlock:errorBlock:]:
unrecognized selector sent to class 0x2a5798'
但我可以使用弃用的方式调用
[QBAuth createSessionWithDelegate:self context:testContext];
我用
处理过的-(void)completedWithResult:(Result *)result context:(void *)contextInfo { }
我确信我遵循了iOS SDK Integration
SDK版本为2.0.10
我应该修复使用新API的错误吗?
答案 0 :(得分:3)
我在我的Swift项目中遇到了完全相同的问题。在我的情况下,我通过在我的构建设置中将-ObjC
添加到Other Linker Flags
来修复它。
答案 1 :(得分:-1)
我使用Quickblox并且createSessionWithSuccessBlock按预期工作。
请尝试使用CocoaPods设置Quickblox并查看是否再次出现错误
http://quickblox.com/developers/IOS-how-to-connect-Quickblox-framework#CocoaPods