ExpoでRealm
以下のような公式のドキュメントがちょっと古く、いずれ更新されると信じているが、まあとりあえずの令和5年最新版ということで
Realmのテンプレを使ってプロジェクト作成
$ npx create-expo-app init MyAwesomeRealmApp --template @realm/expo-template
プロジェクト作成と同時にnpm installも走る
シミュレーターで動かす
$ npx expo run:ios
androidなら以下だが、私zakuni.iconは試しておりません
$ npx expo run:android
npm installやらpod installやら走る。expo prebuildもされてるのかな?
で、シミュレーターが起動して、テンプレのToDoアプリ的なやつが起動する
ここでQRコードも表示されるし、実機で動かしたかったらスキャンしな的な表示もされるが、スキャンしても動きません
実機で動かす
ここからは一層公式にドキュメントが無い
最近はAppleにお布施してなくても実機で動かせるんだったっけ? 忘れたけど、とりあえずExpoとか関係ない部分での、開発ビルドしたアプリを実機で動かせる環境(証明書やら何やら色々)は既にあるものとする
シミュレーターで動かすところまでやってあれば、プロジェクトのフォルダを開くとiosフォルダがあるはず
その中の.xcworkspaceファイルを開いてXcodeを起動する
後は、いわゆるXcodeから実機に移して動かす手順なので詳細は端折るが、Lightningケーブルで端末繋いで、開発機として登録してなかったらして、とりあえず再生ボタンで動かそうとするとチームを設定しろ的なエラーになるはずなのでチームを設定し、もう一回再生ボタンクリックするとビルドに成功する(はず)
で、これだけではまだ終わらなくて、ここで改めてnpx expo run:iosないしはnpm startして表示されるQRコードをスキャンすることで、さっきビルドしたやつ経由で起動する
どうなっているかというと、Native dependenciesがあるとExpo Goでは起動できないので、expo-dev-clientを使っていて、必要なdependenciesが入ったバージョンのExpo Goクライアントを作って起動してるようなものだと理解しているzakuni.icon 一回ここまでやれば、ネイティブ部分に変更がない限りはXcodeを経由したりせず普通のExpoアプリみたいに開発できる
JS(TS)部分を変更したら反映されるし、デバッガも動く
ref.