我正在使用 AWS iOS SDK Cognito 服务进行身份验证。我的模拟器没有网络连接。当我运行我的应用程序时,我想处理错误,但问题是 AWSCognitoCredentialsProvider 没有向我返回错误。我在日志中看到以下消息,所以我知道有错误:
获取 ID 失败。错误是 [Error Domain=NSURLErrorDomain Code=-1005 “操作无法完成。(NSURLErrorDomain 错误 -1005。)”
我知道我可以在开始之前编写一个变通方法来检查我的互联网连接,但我在 SDK 的其他区域也看到了同样的问题,例如,当我尝试使用错误的 AWSDynamoDBModel 删除 DynamoDB 中的一行时。我在日志中看到一个错误,但 task.error 返回为 nil。
我应该检查其他区域是否有错误?
我正在使用 Xcode 6 和 AWS iOS SDK 2.0.12。重现此问题的唯一方法是将 AWS 同源添加到您的项目中,然后在您没有网络连接的情况下运行该应用程序。这是我应该看到错误的片段,但它没有返回(查找 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;
}];
}