我正在Xcode中开发iOS应用程序并使用AFNetworking与API通信 - 该API使用“X-Auth-Token”。因此,当我登录并将会话令牌存储在用户默认值中时,它会完美地运行,直到应用程序重新启动 - 会话令牌由于某种原因不起作用?
令牌在AFNetworking中使用如下:
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
[params setValue:@"SessionTokenFromUserDefaults" forKey:@"X-Auth-Token"];
有没有人有任何建议? (PS:重启后使用令牌时从AFN获得的错误是:请求失败:未授权(401)
如果不登录每个会话,我怎么能实现这一目标?
非常感谢!
答案 0 :(得分:0)
我记得在没有缓存策略的情况下使用NSURLConnections存在这类问题。 我认为有一个thread here可能会有所帮助。
答案 1 :(得分:0)
服务器很可能报告请求失败:未授权(401)是因为令牌为空。
要进行调试,您可以在AppDelegate的
中添加这两行- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[AFNetworkActivityLogger sharedLogger] startLogging];
[[AFNetworkActivityLogger sharedLogger] setLevel:AFLoggerLevelDebug];
}
然后,您可以检查日志中的请求,看看是否已在标题中设置了令牌。