Отправить пользователя в магазин приложений iOS9 для обновления

Я хотел бы отправить пользователя на страницу обновления магазина приложений iOS, чтобы он мог обновить мое приложение при появлении запроса, поэтому я могу потребовать, чтобы пользователи обновили приложение, если обновление содержит критические исправления безопасности или что-то еще важное.

Я считаю, что нашел ссылку, по которой я могу отправить пользователя на страницу обновления, которая

itms-apps://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftwareUpdate?id=‹appid›&mt=8

Так что в моем случае я бы использовал

UIApplication.sharedApplication().openURL(
    NSURL(
      string: "itms-apps://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftwareUpdate?id=969701501&mt=8"
    )!
)

Но я не могу проверить это, потому что мне выдается страница 404 в магазине приложений, когда я пытаюсь

404 страница

Я предполагаю, что получаю это, потому что приложение на самом деле не было загружено из магазина приложений (оно было помещено на мое тестовое устройство из Xcode), и я не могу проверить ссылку, потому что мне нужно будет загрузить приложение из магазин приложений, если мое предположение верно.

Я рассматривал возможность использования ссылки itunes.apple.com, но она ведет на на странице приложения, и хотя на этой странице есть кнопка обновления, phobos.apple.com кажется лучше, поскольку она содержит только информацию об обновлении и новых функциях, что делает ее более удобной для пользователя.

Верна ли моя ссылка для iOS 9 или есть другой/лучший способ отправить пользователя на страницу Обновление приложения в магазине приложений? Еще лучше, есть ли способ предложить пользователю обновить приложение с помощью предупреждения (вроде запроса доступа к фотопленке или службам определения местоположения, но с обновлением приложения)


person Jojodmo    schedule 26.06.2015    source источник
comment
iOS 9 все еще находится в стадии бета-тестирования. Возможно, вам стоит подождать, пока iOS 9.0 не будет завершена.   -  person Raptor    schedule 26.06.2015
comment
@Raptor название вводит в заблуждение. Вопрос отражает другую цель; просто направляя пользователей к URL-адресу App Store. Джоджо, iOS 9 не имеет ничего общего с URL-адресом, который Apple дает вам для вашего приложения (который уникален). Вместо того, чтобы делать то, что вы делаете, вы должны пойти по этому пути; см. обсуждение здесь: stackoverflow.com/a/29456019, как только пользователи попадут туда, им сообщат, соответствуют ли они требованиям для загрузки приложение   -  person soulshined    schedule 26.06.2015
comment
@soulshined правда, кажется, теперь я тебя понимаю. Я виноват, что не разъяснил. Я пытаюсь запустить обновление, когда пользователь нажимает кнопку в приложении (поэтому, когда он нажимает update в приложении, приложение закрывается и начинает обновляться). Я обновлю вопрос.   -  person Jojodmo    schedule 26.06.2015
comment
@Jojodmo правда. И это определенно является более четко определенной целью сейчас. Я не проверял API для iOS 9. Но поскольку ‹=разработчики iOS 8 не имеют возможности начать загрузку, не отправив ее сначала в App Store, и даже если она бесплатная, вы не сможете нажмите кнопку от их имени. Но в API iOS 9 может быть что-то новое.   -  person soulshined    schedule 26.06.2015
comment
@soulshined Я провел небольшое исследование, и похоже, что он не сможет автоматически обновляться, если пользователь не нажмет кнопку обновления. Но похоже, что phobos.apple.com имеет преимущество перед itunes.apple.com, заключающееся в том, что пользователь может видеть, что включено в обновление, вместо того, чтобы прокручивать вниз до вкладки «Что нового», о существовании которой большинство пользователей даже не подозревают (я не даже знал до недавнего времени)   -  person Jojodmo    schedule 26.06.2015
comment
Да, я использую это все время. Я ненавижу, что вы не можете скрыть это после того, как вы нажали, что нового. Но на самом деле это крутая функция, от которой я как разработчик не отказался бы. Вы должны отправить им запрос функции, чтобы создать для этого новую структуру. Я донимал их, чтобы они снова вернули прямой лайк в раздел рейтинга для приложения. Это чрезвычайно полезно для нас и нашего бренда.   -  person soulshined    schedule 26.06.2015
comment
Вы нашли решение? Ссылка на фобос, как вы показываете (с идентификатором моего приложения), возвращает мне 404, даже если мое приложение установлено. Я могу напрямую ссылаться на свое приложение, как предложил Нилеш. Но когда доступно обновление, на странице магазина приложений отображается кнопка «Открыть», а не кнопка «Обновить». Пользователи, нажимающие «Открыть», сразу возвращаются к существующему приложению. Мой вопрос SO по этой теме остался без ответа stackoverflow.com/questions/32460124/ Может быть, это невозможно?   -  person skypanther    schedule 15.10.2015
comment
@skypanther Я бы предположил, что это невозможно ... Я сделал запрос на функцию около 4 месяцев назад, и на него не ответили. В настоящее время я должен использовать ссылку itunes   -  person Jojodmo    schedule 15.10.2015
comment
@Jojodmo Спасибо. Я реализовал ссылку на список приложений нашей компании, а не непосредственно на само приложение. Поскольку у нас всего одно приложение, путаницы не будет. Нажмите на одно из перечисленных приложений, и вы получите ссылку для скачивания. Это не будет работать, как только мы выпустим дополнительные приложения.   -  person skypanther    schedule 15.10.2015


Ответы (1)


Вместо этого вы можете открыть свое приложение через URL-адрес, предоставленный Apple. Это автоматически перенаправит вас на страницу вашего приложения в App Store.

Например, https://itunes.apple.com/in/app/ibooks/id364709193?mt=8

person Nilesh Patel    schedule 26.06.2015
comment
Этот вопрос не имеет ничего общего с отправкой пользователя на страницу приложения — речь идет о том, чтобы заставить пользователя обновить приложение, если обновление содержит критическое исправление безопасности или что-то в этом роде. Для этого нам нужно отправить пользователя на страницу обновления - person Jojodmo; 26.06.2015
comment
Хорошо. Тогда в этом случае вам нужно реализовать свою собственную логику. Я сделал это в одном из своих приложений. Я создал одну таблицу базы данных на бэкэнде для хранения текущей версии приложения. Наряду с этим я сохранил два флага, таких как рекомендуемые и обязательные. Если мне нужно обновить требуемое приложение, я устанавливаю требуемый флаг равным 1. Если этот флаг один, я перенаправляю пользователя на страницу приложения в App Store. Если это рекомендуется, я разрешаю пользователю использовать приложение с текущей версией. надеюсь, что это очистит ваш запрос. - person Nilesh Patel; 26.06.2015
comment
Спасибо за ваш ответ, я уже сделал бэкэнд, я пытаюсь выяснить, как предложить пользователю обновить приложение. Вы знаете, как это сделать? - person Jojodmo; 26.06.2015
comment
Я отобразил предупреждение в приложении на основе вышеуказанного условия. Если это необходимо, пользователь не может продолжить и использовать наше приложение, пока не обновит последнюю версию. если требуется, пользователь может продолжить и использовать его. - person Nilesh Patel; 26.06.2015
comment
Я делаю вышеописанное на главной/первой странице приложения... Вы можете делать это в нужных вам местах... - person Nilesh Patel; 26.06.2015
comment
Я просто уточнил вопрос. Я пытаюсь заставить пользователя обновить приложение, отправив его в магазин приложений и автоматически запустив обновление. - person Jojodmo; 26.06.2015
comment
Если пользователь включил автоматическое обновление в настройках, оно будет обновляться автоматически. Если вы перенаправляете пользователя на страницу App Store, она не будет обновляться автоматически. Пользователю нужно нажать на кнопку обновления, чтобы сделать это. - person Nilesh Patel; 26.06.2015
comment
Проблема в том, что если есть критическое исправление, мы не можем дождаться автоматического обновления. - person Jojodmo; 26.06.2015
comment
Да, только для этого. Когда пользователь запускает приложение, вызывает ваш API и проверяет флаг. Если это необходимо, то каждый раз перенаправляйте их в App Store. Это единственный путь для вас. - person Nilesh Patel; 26.06.2015
comment
Если вы нашли какой-либо другой способ, пожалуйста, дайте мне знать, иначе вы можете принять мой ответ, если считаете его правильным. - person Nilesh Patel; 26.06.2015
comment
Хотя он может делать то, что я ищу, я ищу более удобный способ отображения информации об обновлениях (тот, который включает только то, что новое, и ничего больше). Вы можете прочитать обновленный вопрос для получения дополнительной информации - person Jojodmo; 26.06.2015