我有兴趣从Facebook获取用户的性别。设备区域设置设置为俄语。代码:
let FBRequest = FBSDKGraphRequest(
graphPath: "me",
parameters: [
"fields": "id, gender",
"locale": "en_US"
]
)
FBRequest.startWithCompletionHandler(
{
(connection, result, error) -> () in
if error == nil {
print(result["gender"])
}
}
)
它打印“мужской”而不是“男性”。如何忽略设备区域设置获得响应?提前谢谢!
答案 0 :(得分:1)
我遇到了和你一样的问题。我正在尝试更改区域设置,将键和值设置为“locale”:“pt_BR”或“locale”:“en_US”。两者都失败了。
我发现要解决的唯一方法是在名为“ - (NSString *)urlStringForSingleRequest:(FBSDKGraphRequest *)”的方法中更改文件“FBSDKGraphRequestConnection.m”(我在最后一个版本SDK中通过cocoapods安装)下面的行。请求forBatch:(BOOL)forBatch
request.parameters [@“locale”] = [NSLocale currentLocale] .localeIdentifier;
例如:
request.parameters [@“locale”] = @“en_US”;
SDK获取设备的当前NSLocale并覆盖您放在其上的参数。