Dodai-Dodai-Blog

自作の​拡張機能を​safariで​使えるように​する

投稿日: 2024-12-21カテゴリ: 拡張機能, Safari, Web

この​記事は、大阪工業大学 Advent Calendar 2024の​21日目の​記事です。

概要

オレオレ拡張機能を​Safariで​使えるように​する​方​法を​調べてみました。

調査

最新ニュース - Apple Developerdeveloper.apple.com

なんか​いい​感じに​変換する​やつが​あるらしい。

変換してみる

以前​作った​拡張機能(https://github.com/Dodai-Dodai/nhkpp)を​変換してみます。

$ xcrun safari-web-extension-converter nhk++
Xcode Project Location: /Users/USERNAME
App Name: NHKPP
App Bundle Identifier: com.yourCompany.NHKPP
Platform: All
Language: Swift
Warning: Unable to add icons to created project:
Error Domain=SafariWebExtensionConverterErrorDomain Code=-1 "manifest.json is missing icons" UserInfo={NSLocalizedDescription=manifest.json is missing icons}
Warning: Unable to add a large icon image to created project:
Error Domain=SafariWebExtensionConverterErrorDomain Code=-1 "manifest.json is missing a large icon size" UserInfo={NSLocalizedDescription=manifest.json is missing a large icon size}

アイコンが​無いので​エラーが​出ていますが、​とりあえず​変換は​できました。​ xcodeが​立ち​上がります。

xcrun safari-web-extension-converter nhk++を実行した後に立ち上がるxcodeの画像

ビルドしてみます。​画面左上の​三角ボタンを​押すと​ビルドが​始まります。​終わると​こんな​画面が​出るので、​ウィンドウ下部の​"Quit and Open Safari Settings..."を​クリックします。

xcodeによるビルドが完了した後出るウィンドウの画像

ここで​拡張機能を​管理する​画面が​開きますが、​未署名の​拡張機能は​使えないので、​画面右上の​"デベロッパ"を​クリック、​"未署名の​拡張機能を​許可"を​クリックします。

Safariの設定で、"未署名の拡張機能を許可"にチェックを入れている画像

再度、​拡張機能を​管理する​画面を​開き、​先ほど​作成した​拡張機能を​選択します。

作成した拡張機能にチェックを入れている画像

これで​使えるようになってるはずです。

補足: アプリに​署名する

"未署名の​拡張機能を​許可"と​いう​チェックは、​起動する​たびに​チェックを​入れ直す必要が​あるので、​拡張機能に​署名してしまうと、​チェックを​入れ直す必要が​なくなります。

画像中で​"None"と​なっている​ところを​自分の​Apple IDを​選択して、​署名します。