Подтвердить что ты не робот

Обнаруживать во время выполнения, из какой страны App Store загружено приложение для iPhone?

У меня есть функция в приложении для iPhone, которая по бизнес-причинам должна отображаться/доступна только для клиентов в США. Если я хочу выпустить это приложение в App Store за пределами США, какой лучший способ выяснить, в какой стране я живу, не полагаясь на пользовательские настройки, такие как язык и локаль?

На мой взгляд, идеальным решением является то, что существует некоторое свойство runtime, которое может сказать мне, в какой стране App Store было загружено приложение, и я могу принять соответствующие меры. Просматривая документы и просматривая в Интернете, я не придумываю ничего в этом отделе.

Я не ожидаю, что решение будет на 100% надежным, поскольку пользователи не находятся в стране, откуда они говорят, но как можно ближе к ней.

Я полагаю, что одним из решений было бы сделать отдельную сборку для нового продукта в App Store и иметь две версии: одну для США и одну для других, но это не кажется идеальным. Я надеюсь, что это может быть тот же продукт в App Store, чтобы предотвратить такие вещи, как фрагментация отзывов пользователей.

Спасибо заранее!

4b9b3361

Ответ 1

Я также думаю, что использование NSLocale было бы лучшим решением для определения страны-пользователя.

Вот как это было бы сделано:

// Get user country code based on currentLocale
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode];

if ([countryCode isEqualToString:@"US"]){
    // US Only
}

Однако, поскольку нет гарантии, что пользователь не изменит свои международные настройки, у вас может не быть выбора, кроме как выпустить отдельные приложения, один для американской аудитории, а другой для международного.

Ответ 2

Это либо Locale, либо разные версии для разных магазинов.

Мне вариант Locale кажется наименьшим количеством работы и, вероятно, будет правильным в 95% случаев...

Ответ 3

Вопрос очень старый, но, поскольку у других может быть один и тот же запрос, я забиваю:) Учитывая, что это не "разумно" возможно, кроме как через локальный поиск, одним из механизмов будет регистрация клиента. В регистрационной форме вы можете попросить страну, в которой они регистрируются, и взять ее оттуда...