Google Chromeの拡張機能をSafariにインストールする
📕

Google Chromeの拡張機能をSafariにインストールする

Tags
Software Development
Safari
Published
February 8, 2022

Safariが好きなんです。

Apple信者たるもの、Safariを使いたいのです。みなさんSafari使っていますか???
拡張性がないということで有名なSafariです。みんなChrome使ってますよねぇ。
でもパスワードをiCloudに保存しているヘビーAppleユーザとしては、なるべくSafariを使って指紋認証でパスワード入力などの障壁を乗り越えたいわけです。
Safariをメインで使いたいだけ!!!!!
今回はChromeの翻訳拡張をSafariにインストールします。

必要なもの

  • ブラウザ
  • Xcode(インストールしておいてください)
  • 入れたい拡張の.crxファイル(取得の仕方が後に出てきます)
  • ターミナル.app(コマンドプロンプト)

欲しい拡張のURLをゲット

今回はこれでやります。GoogleTranslateです。URLをコピーしておいてください。
⚠️
/related?hl=jaのようなものがURLの後ろについている場合は消してください :https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk/related?hl=ja

1. .crxを手に入れる

URLをゲットしたらcrxextractor.comにアクセスし、Chrome拡張のURLを入れてDOWNLOADボタンを押し、出てくるGETCRXをクリック
notion image
次はダウンロードしたCRXファイルを選択しアップロードします。
notion image
GET SOURCE CODEがでてくるので、クリックしてダウンロードします。ダウンロードしたらunzip(解凍)してください。

2. xcodeでコンバートする

xcrunが走るようにする

xcodeのインストールがまだの人はインストールしてきてください。
sudo xcode-select -s /Applications/Xcode.app

manifest.jsonを編集する(不必要な場合もあります)

manifest_versionを3から2にしました。
GoogleTranslateでは元々2でしたが、他のものだと3もあるそうです。
notion image
notion image

コンバートする

⚠️
コマンドプロンプトに打ち込みます。
  • ダウンロードしたフォルダのパスは先ほどダウンロードしたフォルダのパスです。
  • 人によって異なります。自分で入力してください。
  • 私の場合は/Users/tomixrm/Downloads/extension_2_0_11_0でした。
xcrun /Applications/Xcode.app/Contents/Developer/usr/bin/safari-web-extension-converter {ダウンロードしたフォルダのパス}
↓こんな感じに出ると思います。
(なんかWarnが出ていますがこれでも行けました)
勝手にXcodeが立ち上がります。
notion image

XcodeでRunする(ビルド)

notion image

3. 完成した拡張機能をインストール

ビルドが完了したら勝手にアプリ的な何かがが起動します。
notion image
notion image
Quit and Open Extensions PreferenceをクリックするとSafariの拡張管理画面が開きます。しかしこれでまだ完了しません。
未署名の拡張機能を許可を押す必要があります。
Safari>開発>未署名の拡張機能を許可
⚠️
開発メニューがない場合はこの記事を読んで開発メニューをを有効にしてきてください。
notion image
チェックを入れて完了です!!!
notion image

4. インストール完了!!

無事使えるようになりました!!
わーい
notion image

参考にした資料たち

Safari Web Extensions で既存の拡張機能をiOS 15で使用する方法
開発環境: macOS Monterey bata 12.0 (public beta) 動作環境: iOS 15.0 beta (public beta) まず、以下のサイトからXcode 13 bataをインストールしてくる必要があります。 Xcode インストール後、以下のコマンドで xcrun safari-web-extension-converter "/path/to/拡張機能のあるフォルダ" 既存の拡張機能をSafari用に変換します。 コマンド実行後は自動的にXcodeが開き、拡張機能用のiOSアプリと変換された拡張機能が確認できます。 あとは、署名情報などを自分のものにして実行すれば動くはずです。簡単ですね。 私自身が詰まった部分なのですが、 manifest.json はSafariと他の拡張機能で異なる部分のサポートになっているらしく、正しく設定されていないとiOS側で拡張機能の設定をONにできないみたいです。 以下のページにサポートしていない manifest.json の設定やJavascript APIが記載されているので確認したほうが良さそうです。 特に気をつけたいのは backgroundの persistent の部分でここを設定していない、または有効にしていることです。 iOS側の設定 > Safari > Extensions で拡張機能の設定を行える部分で以下のエラーがでている場合 Extension on iOS must have a non-persistent background page.
Safari Web Extensions で既存の拡張機能をiOS 15で使用する方法
Chrome 拡張機能のマニフェストファイルの書き方 - Qiita
https://developer.chrome.com/extensions/manifest についての自分用おぼえがきです。 マニフェストファイルの書き方にフォーカスしていますので、個々の用語の説明などは端折ったりしています。 以下の項目は、マニフェストファイルに必須です。 マニフェストファイル自身のバージョンです。 現在のバージョンは 2 で、なおかつ現在有効なバージョンは 2 しかありません。 なので、とにかく と書けばいいです。 バージョンは数値なのでクォートは不要です。 拡張機能の名称です。45 文字まで。I18N に対応しています。 また、これは必須ではないですが、 short_name で略称を定義することもできます。12 文字までが推奨されます。 拡張機能のバージョンです。 1 から 4 つの数値を dot で区切って並べて作ることができます。それぞれの数値は 0 から 65535 までの範囲を取ることができます。 0 以外の数字の前に 0 をつけることはできません。つまり "032" などはできません。 拡張機能の自動更新機能でバージョンの上下関係がチェックされるので、適当に付けてはいけないし、拡張機能を更新する際には必ずバージョンが上がってなくてはなりません。 バージョン間の比較をする際は、ドット区切りのより左にあるバージョンが優先されます。つまり 1.1 は 1.0.9999 より上位のバージョンとみなされます。 区切りが 4 つ未満の時は、足りない部分は 0 が入っているとみなされます。なので 1.1.0.1 は
Chrome 拡張機能のマニフェストファイルの書き方 - Qiita
Video preview