2012-07-26 134 views
15

我想知道是否有解决方案来找出用户在哪个国家下载了应用程序。iOS iTunes Store国家

例如:当用户打开应用程序时,app x已在美国下载,该应用程序将检查它在哪个国家下载。在这个例子中,回报将是“美国”

有没有人有关于如何解决这个问题的想法?

回答

0

无法检查下载了哪个App Store的应用程序。

如果您需要做任何基于位置的任何事情,您应该查看CLLocation以获取用户的当前位置,但如果应用程序询问用户的位置并不明显,为什么需要位置。

您还可以检查用户设备上的语言,例如英国的en_gb,丹麦的dk,加拿大的en_ca等。虽然这并不能完全覆盖某些国家/地区的人将语言设置为某种除了这些国家的母语之外,它总比没有好。

3

iTunes商店国家和用户设置的区域设置之间可能存在足够好的关联。这取决于你的需求 - 如果这还不够,我不认为有一种方法可以知道应用程序从哪个实际商店下载。

要检索的语言环境,你可以使用:

NSString *localeIdentifier = [[NSLocale currentLocale] localeIdentifier]; 

希望这是足以满足您的需求。

6

如果您有任何可用的应用内购买,您可以从SKProduct中读取语言环境。作为回退,使用设备的区域设置。

NSLocale *locale; 
SKProduct *baseProduct = nil; // replace as applicable 
if (baseProduct) { 
    locale = baseProduct.priceLocale; // from the user's credit card on iTunes 
} else { 
    locale = [NSLocale currentLocale]; // from user preferences 
} 
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode]; 
NSLog(@"Two-letter country code: %@", countryCode);