Можете ли вы обновить приложение Macintosh Mac с использованием Sparkle или что-то подобное?
Для тех, кто распространяет приложения Mac за пределами Mac App Store, как вы планируете поддерживать обновление и песочницу? Я догадываюсь, что большинство ответов пользователей пока что это не так, но я надеюсь, что в конечном итоге приложения, отличные от MAS, могут быть изолированы как приложения MAS.
Чтобы использовать Sparkle, вашему приложению потребуется доступ к сети, который может быть предоставлен, а также возможность перезаписывать себя в приложениях. В настоящее время вы можете сделать это с помощью права com.apple.security.temporary-exception.files.absolute-path.read-write, но это не очень хорошее решение. Скорее всего, он исчезнет, и даже если в песочнице приложения нет особого смысла, если вы собираетесь предоставить полный доступ к файловой системе для чтения и записи, а также сетевой доступ.
Кто-нибудь уже пошел по этому пути и нашел хорошее решение? Я прошу, потому что я стараюсь, чтобы моя сборка MAS и моя не-MAS-сборка были как можно более идентичными, и я в настоящее время смотрю на то, что моя MAS-сборка изолирована, а моя не-MAS-сборка не выполнена.
Ответы
Ответ 1
В беседе, начатой @chockenberry на twitter, @andy_matuschak ответил благоприятно для создания службы XPC для Sparkle.
У меня есть запрос pull на GitHub, который фактически создает службу XPC. Надеюсь, что это скоро будет включено в Sparkle.
Ответ 2
На самом деле у нас есть две версии нашего приложения: одна для нашего собственного веб-сайта и одна для магазина приложений.
Я рекомендую использовать подход Сэма Дэйна, который вы можете найти в в своем репозитории GitHub. Это хорошо работает для нас.
Ответ 3
Пока еще.
Начиная с версии 1.15 Sparkle не поддерживает песочницу, а патч, который плавает вокруг, имеет уязвимость, которая позволяет полностью обойти защиту песочницы.