使用AFNetworking不需要缓存GET请求

Ali*_*our 5 ios afnetworking afnetworking-2

我有一个情况,我使用AFNetworking的rest API从我们的后端检索特定资源(GET请求).当我用浏览器检查后端时结果是165但是在一个特定设备(一个特定的iPhone 6 plus)中,结果是5,在任何其他设备中我检索165正确的答案.我认为有些东西在这个设备上缓存了结果但是在这个特定设备上没有发现任何东西.

我删除了应用程序并再次安装它,它再次工作错误,所以NSURLCache也不是问题

我用来从后端检索数据的代码,它适用于任何其他设备,它不适用于该特定设备.(顺便说一句,我使用相同的用户名和密码来检查所有设备和浏览器)所以情况并非如此.

AFHTTPRequestOperationManager* manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];

[manager.requestSerializer setValue:[[NSUserDefaults standardUserDefaults] valueForKey:TOKEN_ID_KEY] forHTTPHeaderField:TOKEN_HTTP_HEADER_NAME];
[manager GET:[NSString stringWithFormat:@"%@%@", BASE_URL, PROFILE_URL] parameters:nil success:^(AFHTTPRequestOperation* operation, id responseObject) {
    NSLog(@"profile info request accepted with response : %@",responseObject);
    profile = [[Profile alloc] initWithDictionary:responseObject];
    [self.tableView reloadData];
} failure:^(AFHTTPRequestOperation* operation, NSError* error) {
    NSLog(@"profile info request failed with eroor : %@" , [error localizedDescription]) ;
}];
Run Code Online (Sandbox Code Playgroud)

Ind*_*ore 3

如果您找不到任何解决问题的方法,那么您可以在网址末尾添加当前时间。这也发生在我身上,我只是在我的网址中添加了一些额外的内容,以便它始终是一个新请求。

long currentTime = (long)CFAbsoluteTimeGetCurrent();
NSString *urlString = [NSString stringWithFormat:@"%@%@?%ld", 
                                                BASE_URL, 
                                                PROFILE_URL, 
                                                currentTime];
Run Code Online (Sandbox Code Playgroud)

这只是一个解决方法。希望这可以帮助