前回、Apple シリコンにネイティブで非対応の cooViewer をあれこれ個別に作業してビルドした。
今回は、開発元のコードをフォークして一発でそのままビルドできるようにしたレポジトリを公開してみる。
Contents
TL;DR
Apple シリコンにもネイティブ対応な cooViewer のビルド。
1 2 3 |
$ git clone --recursive https://github.com/plife18/cooViewer.git $ cd cooViewer $ xcodebuild -configuration Deployment -arch arm64 (-arch x86_64) |
概要
Monterey('22/08現在), Appleシリコン(M1)/arm64 対応版 cooViewer。
依存する XADMaster と UniversalDetector を submodule 化して簡単にビルドできるようにした。
自分でビルドできる方向け(要: Xcode, git)。
2022/08 現在の XADMaster を持ってきているので RAR5 アーカイブも扱える。
開発, 確認環境
- MacBook Pro (2021, M1) + Monterey
- MacBook Pro (2018, Intel) + Monterey
ビルド
CLI
ターミナル.app などから以下を実行。
1 2 3 |
$ git clone --recursive https://github.com/plife18/cooViewer.git $ cd cooViewer $ xcodebuild -configuration Deployment -arch arm64 (-arch x86_64) |
3行目は -arch arm64
で Apple シリコン(M1)/arm64 ネイティブ対応バイナリ、-arch x86_64
でインテル用バイナリ、
スペースで開けて両方併記することでユニバーサルバイナリ2が生成されます。
分からなければ両方書いておけば良いです。
ビルドに成功すると cooViewer/build/Deployment
以下に cooViewer.app
ができる。
-arch
以下を省略すると x86_64/arm64 のユニバーサルバイナリ2ができる。
-arch
を指定する場合は自分の環境に合わせて指定する。
GUI: Xcode.app
git clone --recursive
的な振る舞いを Xcode.app 単独ではできず、
結局ターミナルを使わないといけないようなので(?)、上記 CLI からどうぞ。
ターミナルから$ git clone --recursive https://github.com/plife18/cooViewer.git
cooViewer/cooViewer.xcodeproj を開く。メニュー → Build (or Cmd+B)左ペインの Project Nagivator: cooViewer/Products/cooViewer.app の右クリックから "Show in Finder" でビルドした app が見つかる。
追記
'23/10/27 更新
macOS 14 Sonoma (Xcode 15) で submodule の XADMaster, UniversalDetector が
そのままではビルドできなくなっていたので対応。
Sonoma@M1 でビルドできることを確認。
custom ブランチ
custom ブランチは、某所の有志により提示された以下の変更を含みます。
- Rounded-Rectangle アイコン(Big Sur 以降の丸角アイコン)
- フルスクリーン時に上部に余白が残るのを修正
以下で上記の変更が反映された状態でビルドを開始できる。
1 2 |
$ git clone -b custom --recursive https://github.com/plife18/cooViewer.git ... |
ビルド時のエラー対応
ビルド時に下記のようなエラーが出る場合。
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Xcode から Preferences --> Locations --> Command line Tools から有効な version を(再)指定する。
コメント欄から 緑茶 様に教えていただきました。 ありがとうございます。
https://qiita.com/eytyet/items/59c5bad1c167d5addc68#直し方