CatHand Blog

アプリ開発やMac弄り

M1 macでcocoapods-binaryを使う

cocoapods-binaryはcocoapodsで管理しているライブラリをプレビルドしてくれる便利なプラグインです。主にCIサービス等でビルド時間を短縮するのに役立ちます。

github.com

ですが、cocoapods-binaryでプレビルドするとarm64シミュレータ向けのバイナリが作成されないため、M1搭載macでシミュレータ向けのビルドが通りません。

これを解決するには、 .framework ではなく .xcframework を作成する必要があります。

github.com

↑に .xcframework を作成するforkがありますのでこれを使用します。

リポジトリ指定して cocoapods-binary を使いたいので、 Gemfile を作ります。↓こんなかんじ。

source "https://rubygems.org"

gem 'cocoapods-binary', git: "https://github.com/muukii/cocoapods-binary.git", branch: "muukii/xcframework"
gem 'cocoapods' , '1.10.0'

これで bundle install --path vendor/bundle すると、上記の cocoapods-binary がインストールされます。

Podfile には

use_xcframework!

を指定すると、cocoapods-binary.xcframework を作成してくれるようになります。上記プルリクエストにサンプルが載っていますのでそれを参考にPodfileを編集します。

あとは bundle exec pod install すると、ライブラリがプレビルドされて .xcframework が作成されます。