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

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

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

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

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

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

Ответы [ 3 ]

4 голосов
/ 08 декабря 2010

Я также думаю, что использование 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 голос
/ 17 апреля 2012

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

1 голос
/ 11 июля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...