2011-08-09 6 views
3

NSLocaleを使用して現在の国を特定し、それをWebサービスの引数として渡しますが、アフリカなどの他の国をこの方法でテストすることはできません。 これをテストする方法はありますか? は、私は国の名前を取得するためにこれをやっている:NSLocaleの戻り値をテストするには?

NSLocale *locale = [NSLocale currentLocale]; 
    NSString *countryCode = [locale objectForKey: NSLocaleCountryCode]; 
    NSString *countryName = [locale displayNameForKey: NSLocaleCountryCode value: countryCode]; 

おかげで、

+4

"アフリカ"は国ではありません... –

答えて

2

NSLocale class reference

から[NSLocale availableLocaleIdentifiers]をデバイスが理解するロケールの文字列のNSArrayのを返します。これらのそれぞれは[[NSLocale alloc] initWithLocaleIdentifier:aString]に渡してテストするロケールを与えることができます。

+0

私は他の質問を持っています。ユーザーが何であれインドにいる場合、これはインドと同じ国になるのでしょうか?私は何をしようとしているのは、ユーザーが(彼も旅行者になる可能性があります)国名を渡すことです。 – Ashutosh

+0

それは別の質問です - 私の答えが正しい場合は、それをマークして新しいものを作成します – Mark

+0

NSLocaleはインタフェース言語とメトリック逆ジオコーディングと共通するものはありませんが、正確にユーザーの場所を見つける必要はありません。 –