Решаем проблему с «мнимыми» обновлениями в Mac App Store

В последние дни мы получили сразу несколько похожих вопросов через форму обратной связи — читатели жалуются нам на странную проблему с Mac App Store. Чаще всего она возникает с официальным клиентом Twitter и проявляется следующим образом:

  • вы заходите в Mac App Store. Он уведомляет вас о том, что доступно обновление Twitter
  • вы скачиваете обновление, оно устанавливается, красный кружок на иконке Mac App Store пропадает
  • вы закрываете Mac App Store
  • вы открываете Mac App Store в следующий раз. Он снова уведомляет вас о том, что доступно обновление Twitter (версия равна установленной ранее)
  • вы скачиваете обновление, оно устанавливается, красный кружок на иконке Mac App Store пропадает
  • вы закрываете Mac App Store
  • вы открываете Mac App Store в следующий раз. Он снова уведомляет вас…

В общем, это может продолжаться до бесконечности. Казалось бы, не смертельно, но очень назойливо, особенно для тех, кто уже успел привыкнуть к магазину приложений для Mac OS X от Apple. Кто виноват и что делать?

Первый и самый распространённый рецепт — вылечить права доступа. Но делу это вряд ли поможет.

Второй рецепт — почистить содержимое папки ~/Библиотеки/Application Support/AppStore. Файл manifest.plist можно не трогать, он безобиден.

Третий и самый главный рецепт — вспомнить, не устанавливали ли вы себе крякнутые версии программ и игр из Mac App Store (особенно это касается Angry Birds). Если да, то избавьтесь от такой копии. Давать такой совет мы вынуждены не только и не столько потому, что защищаем интеллектуальную собственность, а потому, что это действительно наиболее частая причина глюков с Mac App Store. Попробуем объяснить причину.

Когда Mac App Store только открылся, сотни (если не тысячи) хакеров сразу стали ломать его защиту — кто из спортивного интереса, кто из корыстных побуждений. Взломали её мгновенно — крякнутая копия игры Angry Birds расползлась по торрентам почти сразу после релиза. Метод взлома был суров и беспощаден — сведения о покупке, хранящиеся внутри программы в папке _MASReceipt, подменялись на сведения о покупке любой бесплатной программы. Если в коде платной проги не было никаких дополнительных средств проверки легальности, она начинала нормально работать.

Самой популярной программой в первые недели существования Mac App Store был Twitter, поэтому неудивительно, что папку _MASReceipt из него копировали куда ни попадя. Последствия этого вскрылись позже: подвергнутые такой обработке программы начинали считать себя второй копией Твиттера, поэтому продолжали требовать себе обновление после того, как настоящий Твиттер был обновлён.

Вывод прост: никогда не ставьте себе криво взломанных пиратских программ ;)