本地化:域=com.alamofire.error.serialization.response代码=-1011“请求失败:未找到(404)

Localization: Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: not found (404)

最近我添加了两种语言来本地化应用程序,当我将应用程序更改为新语言进行测试时。我可以成功地看到所有文本更改,很少有其他 API 无法使用新语言。我与后端团队进行了交叉核对。他们没有做任何更改,它适用于旧语言
在这里您可以找到我的示例代码

 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
 manager.responseSerializer = [AFHTTPResponseSerializer serializer];
 [manager.requestSerializer setValue:KEY forHTTPHeaderField:@"X-Api-Key"];
 [manager.requestSerializer setValue:SECRET forHTTPHeaderField:@"X-Api-Secret"];
 [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
 [manager.requestSerializer setValue:@"nl" forHTTPHeaderField:@"X-Lang"];
    
 [manager.requestSerializer setTimeoutInterval:TIMEOUT_TIME];
    NSDictionary *parameters = @{@"email": email,
                                 @"password": password,
                                 @"useragent": @"mobile"};
 [manager PUT:@"http://urlstring" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
    // handling response
 }

可以帮助任何人吗?我需要改变什么吗

我做了两项修改,一项与请求标头中的 accept-language 有关,我保留了关于任何本地化语言的默认语言 en。另一个是 acceptableContentTypes.

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];
[manager.requestSerializer setValue:@"en" forHTTPHeaderField:@"Accept-Language"];

现在它按预期工作,对于我们使用的本地化语言 X-Lang header。