Вопрос по localization, internationalization, iphone, app-store – Определить во время выполнения, из какой страны App Store было загружено мое приложение для iPhone?

15

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

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

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

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

Заранее спасибо!

Привет, ты когда-нибудь находил элегантное решение? Мы находимся в той же ситуации, но у нас есть разные ветки в коде для каждой страны, которые не очень хорошо масштабируются. Oli
Отзывы пользователей, рейтинги и рейтинги уже фрагментированы по магазинам (странам). Так что просто выпустите 2 приложения, одно с функциями США, а другое без других магазинов. hotpaw2
это 2018 год, и все же у нас нет никакого решения? Moaz Saeed
Нет, но нам не нужно об этом беспокоиться. Не уверен, что что-то изменилось за последний год. Mike McMaster
Это было задано в «09», но есть ли у нас какие-либо решения спустя 7 лет в «16»? Van Du Tran

Ваш Ответ

3   ответа
1

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

4

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

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

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

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

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

1

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

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

Похожие вопросы