我使用AWS iOS SDK Cognito服务进行身份验证。我的模拟器没有网络连接。当我运行我的应用程序时,我想处理错误,但问题是AWSCognitoCredentialsProvider不会向我返回错误。我在日志中看到以下消息,因此我知道存在错误:
GetId失败。错误是[错误域= NSURLErrorDomain代码= -1005"操作无法完成。 (NSURLErrorDomain错误-1005。)"
我知道我可以在解决方法中编写代码以在启动之前检查我的互联网连接,但我也看到了SDK的其他方面存在同样的问题,例如当我尝试使用错误的AWSDynamoDBModel删除DynamoDB中的行时。我在日志中看到错误,但task.error返回为nil。
我是否应该检查其他区域的错误?
我正在使用Xcode 6和AWS iOS SDK 2.0.12。重现问题的唯一方法是将AWS cognate添加到项目中,然后在没有网络连接时运行应用程序。这是我应该看到错误的片段,但它没有返回一个(查找task.error):
-(void)completeLogin:(NSDictionary *)logins {
BFTask *task;
if (self.provider == nil) {
task = [self initializeClients:logins];
}
else {
NSMutableDictionary *merge = [NSMutableDictionary dictionaryWithDictionary:self.provider.logins];
[merge addEntriesFromDictionary:logins];
self.provider.logins = merge;
// Force a refresh of credentials to see if we need to merge
task = [self.provider refresh];
}
[task continueWithBlock:^id(BFTask *task) {
if (self.callback != nil) {
self.callback(task.error); //This is always nil
NSLog(@"callback set to nil in in completeLogin");
self.callback = nil;
}
return nil;
}];
}