Chrome (Chromium) for iOSのビルド
Chrome for iOSをビルドしてみる
前回の調査の流れでChrome (Chromium) の指定のバージョンをビルドしてみたメモを残しておく。
Chromiumのビルド
基本
[iOS] Chromium for iOS がオープンソース化されたのでビルドしてみた Checking out and building Chromium for iOS
depot_toolsを使うとGoogleのリポジトリを使うための色々な便利ツールが入っているのでインストールする。
fetch ios
でios向けのソースコードを取得できる。(過去のリリースビルドを取得したいので --no-history
はつけない)
基本的な流れ
$ fetch ios # iOS向けのソースコード取得 $ cd src # srcに移動 $ python ios/build/tools/setup-gn.py # 各プラットフォーム向けのディレクトリ作成などの事前準備 $ autoninja -C out/Debug-iphonesimulator gn_all # ビルド
過去のリリースビルドでビルドしてみる
ローカルのChromiumソースを使ってChromium OSをビルドする
まずは Chrome Releases Release updates from the Chrome team でリリースビルドのバージョン番号をチェックする
バージョン番号がわかったらここでバージョン番号を入力して コミットハッシュ文字列を確認
OmahaProxy - Google Chrome
これが現時点でのiOSのリリースバージョンとコミットハッシュらしい
Log - 85.0.4183.92..85.0.4183.109 - chromium/src - Git at Google
iOS13以前のバージョン用のChromeをビルドするためにはXcodeの最新版(12)ではなく過去のバージョンに切り替える必要があるため、Apple Developer Downloads からXcode 11.7をダウンロードしておく。
旧バージョンのXcodeでアプリの動作確認するときの手順 - Qiita
$ fetch ios # iOS向けのソースコード取得 $ cd src # srcに移動 $ git checkout 7683ae7e63d35a9b87b2de15483090bf480e6a28 # 該当のコミットをチェックアウト $ gclient sync # 依存ライブラリなどの再Sync $ gclient sync --with_branch_heads $ gclient sync -D $ xcode-select -p # 現在使っているXcodeのバージョン確認 /Applications/Xcode.app/Contents/Developer $ sudo xcode-select -s /Applications/Xcode_11.7.app/Contents/Developer/ # ダウンロードしたXcodeの旧版(11.7)に切り替え $ xcode-select -p # 確認 /Applications/Xcode_11.7.app/Contents/Developer $ python ios/build/tools/setup-gn.py # 各プラットフォーム向けのディレクトリ作成やパスなどの事前準備 $ autoninja -C out/Debug-iphonesimulator gn_all # ビルド
ビルドが終わったら(3時間ぐらいかかった)、out/Debug-iphonesimulatorディレクトリに Chromium.app
が出来ているのでそれをiOSシミュレーター起動してポイッとドロップすればインストール完了。
なんかエラーが出て設定見直した時は、out/以下を一度全削除してから python ios/build/tools/setup-gn.py
すると諸々のパスの設定などが再作成されるっぽい。