Можем ли мы получить номер версии приложения из App Store для iPhone? - PullRequest
4 голосов
/ 29 сентября 2011

Вместо использования веб-службы для получения номера текущей версии приложения и сравнения его в моем коде для отображения предупреждения об обновлении, Есть ли способ получить номер версии приложения напрямую из App-Store / i-Tunes ?

После прохождения всех комментариев поправьте меня, если я ошибаюсь.

  1. Мы не должны показывать локальное уведомление (как предупреждение) Пользователю относительно доступности нового обновления программно?

Я прошел HIG Guidelines, но не мог разыскать такой creteria. Так мало смущен в принятии решения.

Ответы [ 2 ]

3 голосов
/ 29 сентября 2011

Оповещения о подобных обновлениях, безусловно, будут противоречить рекомендациям Apple. Для устройств iOS оповещения приложений отображаются приложением App Store со значком, отображающим количество доступных обновлений. Разработчику ничего не нужно делать.

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

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

Один из известных мне хаков:

Выбрать путь к каталогу библиотеки-

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;

libPath будет выглядеть примерно так: / var / mobile / Applications / 8CFB747F-9446-44CB-98B9-C6FF1CF7BF93 / Library

Эта случайная строка перед / Библиотека изменяется при каждом обновлении. Вы можете сохранить эту строку в NSUserDefaults и сравнивать путь с сохраненной строкой при каждом запуске. Если обнаружено, что строки отличаются, это означает, что это ваш первый запуск после обновления. Показать предупреждение об обновлении! Затем обновите сохраненную строку новой.

0 голосов
/ 29 сентября 2011

Да. Вы можете сделать HTTP-запрос к серверу itunes.apple.com, одновременно имитируя строку User Agent iTunes, для URL-адреса вашего приложения в магазине приложений и проанализировать возвращенный HTML или XML, который вы получите, чтобы найти строку версии, которая может или не может быть приемлемым для команды одобрения Apple. Но это вряд ли того стоит, а также представляет необычный и неожиданный пользовательский опыт.

...