どうも、やっぱりRustが好きなナナオです。
前回、せっかくHackintosh化に成功したので、XCodeでなんかエミュレートしたいんですよね。
Lenovo ThinkPad X270にHackintoshでSequoiaを入れた | にあえん
ということで今回はtauriを使ってみようと思います。
プロジェクトの作成
tauriのプロジェクトの作成は公式ドキュメントに従ってやっていきましょう。
とりあえずプロジェクト作成に必要なツールをダウンロードしていきましょう。
cargo install create-tauri-app --locked
tauri cliというのもインストールしておきましょう。
Command Line Interface | Tauri
cargo install tauri-cli --version "^2.0.0" --locked
これで準備ができました。
プロジェクトを作成していきます。
cargo create-tauri-app
出来上がったsrc-tauri
ディレクトリ内で以下のコマンドを実行します。
cargo tauri dev
とりあえずデスクトップアプリの起動には成功しました!
iPhoneでエミュレートしてみる
iOSで起動するには、同ディレクトリ内で以下のコマンドを実行する必要があります。
cargo tauri ios init
しかし残念ながらエラーが出てしまいました。。
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Info package `cocoapods` present: false
Installing `cocoapods`...
Error: Cask 'cocoapods' is not installed.
`sudo` is required to install cocoapods using gem
Error failed to install Apple dependencies: Failed to install `cocoapods`: No such file or directory (os error 2): No such file or directory (os error 2)
cocoapodsというツールがインストールされていなかったようです。
【iOS開発】 CocoaPodsとは何なのか〜導入〜使い方まで徹底解説 | Tech Beginner
iOSアプリ開発する際のライブラリ管理をするためのツールらしいです。
homebrewでインストールしておきましょう。
brew install cocoapods
インストールした後に先ほどのコマンドを実行すると成功しました。
❯ cargo tauri ios init
Warn No code signing certificates found. You must add one and set the certificate development team ID on the `bundle > iOS > developmentTeam` config value or the `APPLE_DEVELOPMENT_TEAM` environment variable. To list the available certificates, run `tauri info`.
Info detected rustc version 1.83.0 (90b35a623 2024-11-26)
/usr/local/bin/xcodegen
Info package `xcodegen` present: true
/usr/local/bin/idevicesyslog
Info package `libimobiledevice` present: true
/usr/local/bin/pod
Info package `cocoapods` present: true
Apple dependencies are up to date
Info "/Users/nanao/Projects/study/tauri-playground/src-tauri" relative to "/Users/nanao/Projects/study/tauri-playground/src-tauri/gen/apple" is "../../"
Generating Xcode project...
⚙️ Generating plists...
⚙️ Generating project...
⚙️ Writing project...
Created project at /Users/nanao/Projects/study/tauri-playground/src-tauri/gen/apple/tauri-playground.xcodeproj
victory: Project generated successfully!
Make cool apps! 🌻 🐕 🎉
ではiOSでエミュレートしてみましょう。
❯ cargo tauri ios dev
/usr/local/bin/ios-deploy
Info package `ios-deploy` present: true
Error No available iOS Simulator detected
Warn No code signing certificates found. You must add one and set the certificate development team ID on the `bundle > iOS > developmentTeam` config value or the `APPLE_DEVELOPMENT_TEAM` environment variable. To list the available certificates, run `tauri info`.
Warn To develop on physical phones you need the `--host` option (not required for Simulators). See the documentation for more information: https://v2.tauri.app/develop/#development-server
Info Opening Xcode
残念ながらエラーが出てしまいました。
XCodesからiOSのエミュレータがダウンロードされていないことが原因だったようなので、ダウンロードしておきます。
この状態で再度コマンドを実行し直してみましょう。
❯ cargo tauri ios dev
/usr/local/bin/ios-deploy
Info package `ios-deploy` present: true
Detected iOS simulators:
[0] iPad (10th generation)
[1] iPad Air 11-inch (M2)
[2] iPad Air 13-inch (M2)
[3] iPad Pro 11-inch (M4)
[4] iPad Pro 13-inch (M4)
[5] iPad mini (A17 Pro)
[6] iPhone 16
[7] iPhone 16 Plus
[8] iPhone 16 Pro
[9] iPhone 16 Pro Max
[10] iPhone SE (3rd generation)
Enter an index for a simulator above.
Simulator:
シミュレーションするiOSを選択する画面になりました!!
とりあえずiPhone 16を選ぶと…
ブログだとギュッとなっていますが、スペックの関係でかなり起動に時間がかかりました。。
感想
割と簡単に起動までできました。
とりあえず、これでアプリ作りたいですね。