Можно ли импортировать скрипты содержимого из папки проекта для Safari App Extension? - PullRequest
0 голосов
/ 27 ноября 2018

Я разрабатываю расширение приложения Safari.Но мои скрипты контента находятся вне папки проекта XCode.Можно ли импортировать эти файлы сценариев?

Я вижу в официальном документе Apple:

Для каждого файла сценария добавьте словарь в массив.Каждый словарь должен иметь ключ Script, значение которого указывает путь ( относительно каталога Resources пакета ) к файлу сценария для включения.

Предположим, что мой проект расширения называется SafariExt,Структура папки моего приложения:

SafariExt   // Xcode project root folder
 |
 +-- SafariExt Extension
    |
    +--script.js    // this is the default script file in Xcode project, and I specified path relative to this folder


Scripts     // my scripts folder
 |
 +-- myScript.js    // the file I want to import

SafariExt и Scripts находятся в одной базовой папке.

Теперь я использую ../../Scripts/myScript.js в Info.plist для ссылки наmyScript.js файл, но в Safari этот файл не загружается.

Info.plist выглядит следующим образом:

<key>SFSafariContentScript</key>
<array>
    <dict>
        <key>Script</key>
        <string>../../Scripts/myScript.js</string>
    </dict>
</array>

1 Ответ

0 голосов
/ 01 марта 2019

Вы должны иметь возможность загружать скрипты содержимого из Интернета, используя safari.addContentScriptFromURL.Вы можете попробовать использовать это вместе с file://, чтобы увидеть, позволяет ли оно извлекать данные из каталога вашего проекта.

Действительно, вы должны вместо этого копировать файлы в каталог расширений с помощью сценария сборки, если это возможно.наличия относительных ссылок на каталоги.

https://developer.apple.com/documentation/safariextensions/safariextension/1635361-addcontentscriptfromurl

...