最新版のmacOS「Big Sur」がリリースされましたね。
Big Surの新機能のひとつに「Chromeの機能拡張をSafariに移植」できる機能が実装されました。
WebExtensions APIの新しいサポートと移行ツールを使って、デベロッパはChromeの機能拡張をSafariに移植できます。お気に入りのデベロッパによる新しいSafariの機能拡張を使って、ウェブ体験をカスタマイズできます。
本記事では、早速Chrome拡張機能からコンバートしてみましたので、その手順について書きます。
【注意事項】
執筆当時のマニフェストV2までに対応していますが、それ以上のマニフェストバージョンには対応しておりませんのでご注意ください。
コンバート手順・導入手順
以下の手順にて、コンバートから導入までを行います。
1 / macOSのアップデート
まずは、macOSをアップデートしてBig Surを入手してください。
2 / XCodeのアップデート
Safari拡張機能へコンバートするにはXCode 12の機能を使います。XCodeもApp Storeからアップデートしてください。
3 / コンバート
このページに記載のコマンドにてコンバートします。
https://developer.apple.com/documentation/safariservices/safari_web_extensions/converting_a_web_extension_for_safari
ターミナルを開いて以下のコマンドを実行してください。
※ 「/path/to/extension」はChrome拡張機能のフォルダパスに置き換えてください。
今回は自作の拡張機能を変換します。
xcrun safari-web-extension-converter /path/to/extension
実行すると、Chrome拡張機能の名前がApp Nameに表示されます。
Is this correct?(変換するものは、こちらで合ってますか?)と聞かれるので「yes」を入力します。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F581277%2F5580fbaf-55d8-177e-6934-2d8b532efb02.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=852567c53985eef072ef9e47f14cf733)
すると、Xcodeが起動し、以下のようなプロジェクトが作成されます。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F581277%2Fd71d32ec-13c0-5704-4d56-5b1bff2b0c8e.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=bd0436c8fab037d115d1ef58d47a61b8)
XCodeで「▶️」を押下してビルドします。(以下、手順参考)
https://developer.apple.com/documentation/safariservices/safari_app_extensions/building_a_safari_app_extension#2957926
「Buid Success」と表示されればビルド成功です。
こんな画面が出ますので「Quit and Open Safari Extensions Preferences...」(終了してSafari拡張機能の設定を開く)ボタンを押下します。
4 / Safari拡張機能のインストール
Safariを起動して、「開発」 > 「未署名の機能拡張を許可」を押下します。
Safariのメニューから「Safari」 > 「環境設定」 > 「機能拡張」を選択すると、拡張機能の設定画面が開けます。
5 / 動作確認、完了
最後にSafariで動作確認して完了です。
簡単でしたね。
おわりに
弊社、株式会社シクミヤでは業務自動化・効率化のご依頼を承っております。
「乱数表からの自動認証ツール」もその一貫で作成した成果物で、
乱数表PDFから認証画面へとコピペする手間を軽減するための拡張機能です。
ぜひお困りごとがありましたら、お気軽にご相談ください。