如果您有任何应用内购买,您可以从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);
Run Code Online (Sandbox Code Playgroud)
无法检查应用程序是从“哪个”App Store 下载的。
如果您需要执行任何基于位置的操作,您应该考虑CLLocation获取用户的当前位置,但是,如果应用程序需要该位置的原因并不明显,那么向用户询问其位置似乎是一种干扰。
您还可以检查用户设备上的语言,例如英国的 en_gb、丹麦的 dk、加拿大的 en_ca 等。虽然这并不能完全涵盖某些国家/地区的人们将语言设置为国家/地区以外的语言的情况母语,总比没有好。