Dodai-Dodai-Blog

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

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

投稿日: 2024-12-21

カテゴリ: 拡張機能, Safari, Web

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

概要

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

調査

https://developer.apple.com/jp/news/?id=qiz0arxc

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

変換してみる

以前作った拡張機能(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を選択して、署名します。