与语言环境无关的 FBSDKGraphRequest
Locale-independent FBSDKGraphRequest
我有兴趣从 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"])
}
}
)
它打印“мужской”而不是 "male"。如何获得忽略设备区域设置的响应?提前致谢!
我遇到了和你一样的问题。我正在尝试更改语言环境,将键和值设置为 "locale":"pt_BR" 或 "locale":"en_US"。都失败了。
我发现解决问题的唯一方法是更改文件 "FBSDKGraphRequestConnection.m" 中的以下行(我通过 cocoapods 安装了最新版本的 SDK),方法名为:- (NSString *)urlStringForSingleRequest:(FBSDKGraphRequest *)批次请求:(BOOL)批次
request.parameters[@"locale"] = [NSLocale currentLocale].localeIdentifier;
例如:
request.parameters[@"locale"] = @"en_US";
SDK 获取设备的当前 NSLocale 并覆盖您为其设置的参数。
我有兴趣从 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"])
}
}
)
它打印“мужской”而不是 "male"。如何获得忽略设备区域设置的响应?提前致谢!
我遇到了和你一样的问题。我正在尝试更改语言环境,将键和值设置为 "locale":"pt_BR" 或 "locale":"en_US"。都失败了。
我发现解决问题的唯一方法是更改文件 "FBSDKGraphRequestConnection.m" 中的以下行(我通过 cocoapods 安装了最新版本的 SDK),方法名为:- (NSString *)urlStringForSingleRequest:(FBSDKGraphRequest *)批次请求:(BOOL)批次
request.parameters[@"locale"] = [NSLocale currentLocale].localeIdentifier;
例如:
request.parameters[@"locale"] = @"en_US";
SDK 获取设备的当前 NSLocale 并覆盖您为其设置的参数。