Подтвердить что ты не робот

Safari Extension Companion всегда имеет значение null

Я разрабатываю расширение Safari для своего локального Mac App, я хочу использовать SafariExtension Companion для связи между ними.

Однако, в моем Global.html расширения, всякий раз, когда я пытаюсь получить safari.extension.companion, он всегда равен нулю. Я неправильно настроил расширение?

Кроме того, согласно руководству, я могу использовать safari.extension.addEventListener для прослушивания сообщения из локального приложения, однако, когда я отлаживаю расширение, он запрашивает у меня safari.extension.addEventListener undefined, почему это

Ответ: safari.application.addEventListener верен, Apple пишет неправильный документ.

Я устанавливаю точный идентификатор Companion Bundle в Extension Builder как идентификатор, который я установил в Xcode для сафари-компаньона в соответствии с руководством. Есть что-то еще, что я пропустил? Пожалуйста, помогите!!!

4b9b3361

Ответ 1

Компонент расширения Safari - это тип расширения приложения MacOS X. Они отправляются как часть пакетов приложений. Когда приложение установлено (комплект скопирован в приложения), Safari получает расширение.

Сначала вам нужен проект Xcode с целевым типом "Cocoa application" ( "Инструмент командной строки" не будет делать). Затем вам нужно создать целевой тип "Safari Extension Companion", и у вас есть возможность указать основное приложение при его создании.

Когда вы создаете и архивируете приложение и экспортируете архив, вы получаете возможность добавить расширение к набору приложений. Затем установите пакет приложений.

Убедитесь, что идентификатор пакета расширения соответствует настройке в Safari Extension Builder. Кроме того, убедитесь, что приложение и расширение Safari подписаны, а ключи имеют соответствующие идентификаторы разработчика. Для типа сертификата в MacOS X выберите "Идентификатор разработчика" - сначала при запросе, затем при экспорте пакета из архива сборки.

ИЗМЕНИТЬ: когда сбой родной компаньона, Safari отключает его. Если вы удалите и переустановите пакет приложений, а также перезапустите Safari, он снова полюбит компаньона.