Отправить пользователя в App Store для обновления версии OS X

Возможный дубликат:
Программно открыть Mac App Store

Я разрабатываю приложение для OSX версии 10.8.0+, и мне нужно программно показать App Store, чтобы пользователь мог обновить свою ОС, чтобы использовать интеграцию с Facebook (только если он не на 10.8.2).
Как это сделать? Я открываю App Store в разделе «Обновления» или что-то подобное, что делает то же самое?


person Pedro Vieira    schedule 22.10.2012    source источник
comment
Вы просто хотите открыть магазин приложений на странице приложения, чтобы обновить его? Или в раздел актуальных обновлений?   -  person PRNDL Development Studios    schedule 22.10.2012
comment
Я скептически отношусь к тому, что стороннее приложение должно делать что-то подобное. В ОС уже есть встроенные настройки проверки обновлений и уведомлений.   -  person bames53    schedule 22.10.2012
comment
Если бы это было возможно, оно, вероятно, было бы раскрыто через AppleScript. К сожалению, словарь сценариев для App Store содержит только шаблоны. В лучшем случае вы можете запустить само приложение.   -  person millimoose    schedule 22.10.2012
comment
Если пользователь находится на 10.8.0, он не может использовать NSSharingService Facebook, поэтому я говорю пользователю обновить свою ОС. Вот почему мне нужно отправить пользователя в приложение App Store в разделе обновлений.   -  person Pedro Vieira    schedule 22.10.2012
comment
@PedroVieira Я бы не поставил на то, что кто-то заплатит 30 долларов за обновление OS X только для того, чтобы поделиться вещами с Facebook - у меня сложилось впечатление, что база пользователей OS X в основном состоит из людей, которые обычно обновляются, или люди, которые обновляются только замена оборудования с предустановленной новой ОС. Если вы считаете, что установленная база 10.8 слишком мала, вам следует сделать эту функцию необязательной. (Поделиться в FB вряд ли жизненно важно.)   -  person millimoose    schedule 22.10.2012
comment
@millimoose ты прочитал вопрос? это приложение для 10.8+. Но только на 10.8.2 (извините, если ошибаюсь) OSX вышла с интеграцией с Facebook.   -  person Pedro Vieira    schedule 22.10.2012
comment
@PedroVieira Я прочитал ваш вопрос, в котором ничего подобного нет! Возможно, если бы вы отредактировали четкое описание вашего варианта использования вместо того, чтобы подразумевать его в нескольких комментариях, это было бы так.   -  person millimoose    schedule 22.10.2012
comment
Если вы читали мой ответ ранее перед моим РЕДАКТИРОВАТЬ, посмотрите мои дополнения, которые дают URL-адрес для открытия Mac AppStore на вкладке «Обновления» напрямую.   -  person AliSoftware    schedule 23.10.2012


Ответы (1)


Используя iTunes Link Maker, вы можете получить ссылку для открытия Mac AppStore на странице MacOS X 10.8 (просто найдите «OSX» в разделе «Приложения Mac»), например:

https://itunes.apple.com/us/app/os-x-mountain-lion/id537386512?mt=12&uo=4

Использование этой ссылки напрямую, к сожалению, откроет ваш браузер, который попросит пользователя нажать кнопку, чтобы открыть страницу в Mac AppStore, но после быстрого поиска в коде javascript, связанном с этой кнопкой, легко увидеть, чем заменить "https://" на "macappstores://" откроет Mac AppStore напрямую, не открывая веб-браузер по умолчанию.

Короче говоря, открытие вашего приложения по ссылке ниже должно помочь:

NSString* const kOSX8AppStoreURL = @"macappstores://itunes.apple.com/us/app/os-x-mountain-lion/id537386512?mt=12";
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:kOSX8AppStoreURL]];

Конечно, при этом открывается страница приложения "OS X Mountain Lion" в AppStore, а не вкладка "Обновления" приложения Mac AppStore, но я думаю, что это лучшее, что вы можете сделать.


РЕДАКТИРОВАТЬ: Откройте вкладку «Обновления» в Mac AppStore!

Изучив запросы, отправленные приложением Mac AppStore для проверки обновлений (благодаря прокси-серверу Man-In-The-Middle и доверенному сертификату ЦС для привлечения HTTPS-запросов AppStore.app и некоторому декодированию Base64), я наконец-то нашел URL-адрес для открытия страницы «Обновления» в Mac App Store!

Итак, это URL-адрес, который я обнаружил, который напрямую открывает вкладку «Обновления»:

https://su.itunes.apple.com/WebObjects/MZSoftwareUpdate.woa/wa/viewSoftwareUpdate

Я тестировал его до сих пор, и он открывает AppStore.app, если он еще не открыт, переходит на вкладку «Обновления» и сразу же начинает поиск новых обновлений :)

person AliSoftware    schedule 22.10.2012
comment
я пытался использовать [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"macappstores://su.itunes.apple.com/WebObjects/MZSoftwareUpdate.woa/wa/viewSoftwareUpdate"]];, но это не работает, возникает ошибка в приложении AppStore. - person Pedro Vieira; 23.10.2012
comment
А как же моя первая ссылка? А что, если вы попытаетесь использовать команду open в терминале, чтобы открыть URL-адрес? - person AliSoftware; 23.10.2012
comment
Похоже, URL-адрес macappstore://showUpdatesPage также будет работать. - person Dave Ross; 26.03.2013