iOS iTunes商店国家

我想知道是否有一个解决scheme,找出用户在哪个国家下载了一个应用程序。

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

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

如果您有任何可用的应用程序内购买,您可以从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); 

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

要检索该区域设置,您可以使用:

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

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

无法检查“哪个”app store的应用下载。

如果您需要执行任何基于位置的操作,则应查看CLLocation以获取用户的当前位置,但是如果应用程序不明白为什么需要该位置,则可能会询问用户的位置。

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