Обновление расширения Safari? - PullRequest
9 голосов
/ 09 июня 2010

Я пишу простое расширение Safari и пытаюсь выяснить, как заставить работать механизм обновления.Документация Apple здесь восхитительно расплывчата:

https://developer.apple.com/library/archive/documentation/Tools/Conceptual/SafariExtensionGuide/UpdatingExtensions/UpdatingExtensions.html

А вот мой манифест, основанный на этой документации:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Extension Updates</key>
    <array>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>net.rickyromero.safari.shutup</string>
            <key>Team Identifier</key>
            <string>TMM5P68287</string>
            <key>CFBundleVersion</key>
            <string>1</string>
            <key>CFBundleShortVersionString</key>
            <string>1.0</string>
            <key>URL</key>
            <string>http://rickyromero.net/misc/SafariExtensions/ShutUp.safariextz</string>
        </dict>
    </array>
</dict>
</plist>

Я не знаю, где взять "YourCertifcateID, "например.И когда я увеличиваю значения для CFBundleVersion и CFBundleShortVersionString, это не вызывает обновления.Я знаю, что Safari запускает мой манифест, потому что я смотрю HTTP-трафик.

Ответы [ 4 ]

6 голосов
/ 10 июня 2010

Team Identifier должно быть Developer Identifier

Идентификатор разработчика берется из строки в верхней части окна Extension Builder, Safari Developer: (DEVELOPER_IDENTIFIER) EMAIL

1 голос
/ 19 июля 2010

У меня была такая же проблема, файл PLIST был похож на приведенный выше, и вот как я решил свою проблему:

  • Неправильный идентификатор разработчика (с 5 вместо Z).Дух!
  • Разрешения, которые отдыхают каждый раз, когда вы обновляете файл:

    chmod 0444 EXTENSIONNAME.safariextz

1 голос
/ 10 июня 2010

Аналогичная проблема.Safari видит обновление (я установил обновления вручную), но нажатие кнопки установки при обнаружении обновления ничего не дает.Если я затем проверю «Установить обновления автоматически», процесс обновления начнется и завершится, но новая версия не будет установлена.Я вижу трафик на веб-сервер, поэтому знаю, что был сделан запрос.

РЕДАКТИРОВАТЬ: Исправлено!В веб-каталоге, где хранилось расширение, были неправильные разрешения, это было исправлено, и оно устанавливалось вручную и автоматически.Каждый раз, когда я перестраиваю расширение и сохраняю его в папку веб-обслуживания, я должен установить разрешения.

2-е редактирование: если вы хотите посмотреть на существующее расширение, загрузите его или получите из папки расширений Safari, затем изменитезатем .safariextz to .xar откройте / распакуйте с помощью Pacifist для просмотра кода и, если хотите, добавьте его в приложение Extension Builder.

0 голосов
/ 25 июля 2012

Просто была такая же проблема, и разрешения были проблемой для меня тоже. Файл .safariextz нормально скачивался по прямой ссылке на моей домашней странице, но мне пришлось установить для его разрешений значение + x на сервере, прежде чем Safari загрузит его в качестве автоматического обновления.

...