Я пишу простое Расширение Safari, и я пытаюсь выяснить, как получить работу механизма обновления. Документация Apple здесь восхитительно неопределенна:
И вот моя декларация, на основе той документации:
Extension Updates
CFBundleIdentifier
net.rickyromero.safari.shutup
Team Identifier
TMM5P68287
CFBundleVersion
1
CFBundleShortVersionString
1.0
URL
http://rickyromero.net/misc/SafariExtensions/ShutUp.safariextz
Я не знаю, где получить "YourCertifcateID", например. И когда я увеличиваю значения для CFBundleVersion и CFBundleShortVersionString, он не инициировал обновление. Я знаю, что Safari поражает мою декларацию, хотя, потому что я наблюдаю Трафик HTTP.
Идентификатор команды
должен быть Идентификатор разработчика
Идентификатор разработчика берется из строки в верхней части окна Конструктора расширений, Разработчик Safari: (DEVELOPER_IDENTIFIER ) ЭЛЕКТРОННАЯ ПОЧТА
Аналогичная проблема. Safari видит обновление (я установил обновление вручную), но нажатие кнопки установки при обнаружении обновления ничего не дает. Если я устанавливаю флажок "Устанавливать обновления автоматически", процесс обновления начинается и завершается, но новая версия не устанавливается. Я вижу трафик на веб-сервере, поэтому я знаю, что был сделан запрос.
EDIT: Исправлено! Разрешения были неправильными в веб-каталоге, где хранилось расширение, исправил это, и оно установилось вручную и автоматически. Каждый раз, когда я восстанавливаю расширение и сохраняю в папке веб-сервиса, мне приходится устанавливать разрешения.
2-я правка: Если вы хотите посмотреть на существующее расширение, скачайте его или получите из папки расширений Safari, затем измените .safariextz на .xar, затем откройте/распакуйте с помощью Pacifist, чтобы просмотреть код и, если хотите, добавить его в приложение Extension Builder.
У меня была та же проблема, файл PLIST был похож на тот, что указан выше, и вот как я решил свою проблему:
Разрешения, которые не используются каждый раз при обновлении файла:
chmod 0444 EXTENSIONNAME.safariextz