バックエンド開発者が、地理位置情報を実行して返される都市名を特定の言語にするように強制するように依頼したという、かなり奇妙な状況に遭遇しました。たとえば、iOS の言語に関係なく、Copenhagen ではなく København を返すようにします。これに関するウェブ上で何も見つかりませんでした。あなたの助けは大歓迎です。ありがとう
質問する
909 次
1 に答える
2
これが最善かつ最も安全な解決策であるかどうかはわかりませんが、リバース ジオ コードの呼び出しを行っている間に一時的にロケールを変更し、完了したらリセットすることができます。
NSArray *defaultLanguages = [[NSUserDefaults standardUserDefaults] valueForKey:@"AppleLanguages"];
NSArray *languages = [NSArray arrayWithObject:@"da"];
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
CLLocation *location = [[CLLocation alloc] initWithLatitude:coordinate.latitude longitude:coordinate.longitude];
[geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
CLPlacemark *placemark = placemarks[0];
NSString *danish = placemark.country;
[[NSUserDefaults standardUserDefaults] setObject:defaultLanguages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
}];
于 2013-08-21T08:22:35.343 に答える