Установка расширения Safari из пакета программного обеспечения для настольных ПК

У нас есть настольное программное обеспечение для OSX, распространяемое за пределами Mac App Store в виде пакета установщика pkg. Мы хотели бы установить расширение Safari вместе с настольным приложением во время установки.

Шаги, которые мы сделали:

  • У нас есть готовый набор инструментов для успешного создания пакета pkg для нашего настольного приложения.
  • Также подписано safariextz создание пакета готово.
  • Оба могут быть установлены отдельно, но было бы лучше упаковать расширение Safari вместе с настольным pkg-установщиком к нему за один шаг.

Возможно ли с помощью pkgbuild или productbuild добиться этого?

1 ответ

Решение

Если ваше расширение является расширением приложения Safari, Safari должен автоматически определить расширение (и отобразить его в Safari > " Настройки" > " Расширения"), если:

  1. Расширение находится по соответствующему пути в вашем комплекте приложений (PlugIns папка).
  2. Ваш комплект приложений установлен в /Applications,
  3. Ваш комплект приложений правильно подписан вашим ID разработчика.

Однако расширение по умолчанию отключено, и только пользователь может включить его через настройки Safari. (Нет API для включения расширения приложения Safari, хотя есть API для запроса его состояния и открытия настроек Safari для расширения.)


Если ваше расширение было создано с использованием более старого метода с использованием Safari Extension Builder (как я полагаю, так как вы упомянули .safariextz), то, к сожалению, единственными разрешенными способами его установки являются:

  1. Нажав кнопку "Установить" в галерее расширений.
  2. Открыв (.safariextz) файл в Safari. (Safari предложит пользователю подтвердить установку.)

Apple предупреждает:

Важно: это единственные разрешенные способы установки расширения Safari. Вы не должны пытаться установить ваше расширение любым другим способом.

И, фактически, они предприняли шаги, чтобы затруднить использование творческих методов для установки расширения любым другим способом. (Вероятно, чтобы вредоносные приложения / установщики не могли навязывать расширения пользователям без их ведома.)

Тем не менее, вы можете преобразовать существующее расширение в расширение приложения Safari без особых усилий, и Apple настоятельно рекомендует вам сделать следующее:

Важно: Начиная с Safari 10.0 в macOS 10.11.5, расширения Safari создаются как расширения приложений в XCode. Новые расширения упакованы в содержащее приложение macOS и распространяются и продаются в App Store. Если вы создали расширение с помощью методов, описанных в этом документе, рассмотрите возможность перехода к новой модели расширений.

(Примечание. Вам не нужно распространять свое приложение через Mac App Store для предоставления расширения приложения Safari - приложения, подписанные разработчиком, также должны работать.)

Это даст вам преимущества гораздо более простого процесса установки расширений приложений Safari.

Другие вопросы по тегам