2012-07-26 15 views
15

Zastanawiam się, czy istnieje rozwiązanie pozwalające dowiedzieć się, w którym kraju użytkownik pobrał aplikację.Kraj sklepu iOS iTunes Store

Na przykład: aplikacja x została pobrana w USA, gdy użytkownik otworzy aplikację, aplikacja sprawdzi, w którym kraju została pobrana. W tym przykładzie zwrot będzie "USA"

Czy ktoś ma pomysł, jak rozwiązać ten problem?

Odpowiedz

0

Nie można sprawdzić, "który" App Store pobrano aplikację.

Jeśli chcesz zrobić coś w oparciu o lokalizację, powinieneś spojrzeć na numer CLLocation, aby uzyskać bieżącą lokalizację użytkownika, jednak może się to wydawać uciążliwe dla aplikacji, aby zapytać użytkownika o jego lokalizację, jeśli nie jest jasne, dlaczego potrzebowałaby tej lokalizacji. Lokalizacja.

Można również sprawdzić język urządzenia użytkownika, na przykład en_gb dla Wielkiej Brytanii, dk dla Danii, en_ca dla Kanady itp. Chociaż nie obejmuje to całkowicie sytuacji, gdy ludzie w niektórych krajach ustawili język na coś inaczej niż w ojczystym języku krajów, to lepsze niż nic.

3

Być może istnieje wystarczająco dobra korelacja między krajem sklepu iTunes a ustawieniem użytkownika locale. To zależy od twoich potrzeb - jeśli to nie wystarczy, nie sądzę, że istnieje sposób na sprawdzenie, z którego rzeczywistego sklepu została pobrana aplikacja.

Aby pobrać ten locale, można użyć:

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

nadzieję, że to wystarczy do swoich potrzeb.

6

Jeśli masz dostępnych zakupów w aplikacji, możesz odczytać ustawienia regionalne z SKProduct. Jako zabezpieczenie należy użyć ustawień narodowych urządzenia.

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); 
Powiązane problemy