2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

第2回:MacないけどiOSアプリ作れるの?【環境構築編】

Posted at

こんにちは、藤田です。

前回は「ヨーグルト賞味期限切れ事件」をきっかけに、「冷蔵庫に眠っている食材をどう管理するか?」を妄想しました。今回はその妄想をカタチにすべく奮闘した、開発環境構築編です。


🧩手元にあるのはWindowsだけ

私はMacを持っていません。開発端末はWindows 11 + Visual Studio 2022のみ。
とはいえ作りたいのは、iPadで使える冷蔵庫管理アプリ

なぜiOSアプリなのかというと、冷蔵庫の前での操作はスマホより画面の大きいiPadのほうが圧倒的に便利かつ家にあるタブレットがiPadのみだからです。(第一回参照)


🧱選んだ技術スタック:.NET MAUI

そこで使うのが .NET MAUI(Multi-platform App UI)
Microsoftが開発したクロスプラットフォーム対応のフレームワークで、以下のようなメリットがあります:

  • **C#**で共通ロジックを書ける
  • XAMLで直感的なUI設計が可能
  • Android/iOS/Windows/macOSに対応
  • Visual Studioで開発できる(ただしiOSは一部制限あり)

重要なのは:iOSアプリのビルド&デバッグにはMac環境が必須というApple側の仕様です。


🛠️Macを持たずにiOSビルドする方法

🌩️ 方法①:CIサービス(GitHub Actions)でiOSビルド

利用手順:

  • GitHubでソースコードを管理
  • .ymlでCIパイプラインを定義
  • dotnet build -f:net8.0-ios をMacランナーで実行

Apple Silicon環境が選べるので実機なくてもiOS用のバイナリ生成が可能になります。


☁️ 方法②:クラウドMacを契約(例:MacStadium)

  • 数日だけ契約して必要なApple Provisioning設定を済ませる
  • Visual Studio EnterpriseならリモートMacに接続可能

本番申請やStore提出時などには、実機検証+Xcode操作が必要になるので、スポット利用がベター。


🔍 使い分け比較

方法 利用目的 メリット 注意点
GitHub Actions 開発/ビルド検証用 無料枠あり/構成自動化 Macランナーの待ち時間あり
クラウドMac 設定/申請/実機検証 GUI操作可能/Xcode導入済み 有料/最低1日契約から

💡Visual Studio 2022 設定Tips

  • プロジェクト作成:「.NET MAUI App」を選択
  • ターゲットプラットフォームに「iOS」を含める
  • Platforms/iOSフォルダにInfo.plistなど設定ファイルを追加
  • ビルド:GitHub Actionsで dotnet build -f:net8.0-ios を実行

手元ではAndroidエミュレーターで見た目確認しつつ、CIでiOSのバイナリ生成という二段構えで進めました。


😅つまずいたポイントと対処法

つまずき内容 対策/補足
Provisioning設定が複雑 Apple公式ドキュメント + Fastlaneを併用すると楽
Macランナーの待機時間 タイムゾーンに注意/一時的にローカルMacを使う案も
Visual StudioのiOS設定に情報が少ない 英語が読めればGitHub Discussionsが助かる/MAUIコミュニティで質問可

英語ドキュメント中心なのは少し抵抗があるかと思いますが、MAUIは海外のコミュニティが活発なので、むしろ情報が手に入りやすいとも言えます。
また、英語の勉強にもなるので一石二鳥です。(私は英語はもともと読み書き会話できるので苦ではありませんでした。)


📱次回予告:設計&実装編 賞味期限通知とUI設計のこだわり

冷蔵庫管理アプリの「賞味期限通知」「使いやすいUI」「タッチ前提設計」について、実装上の工夫を語っていきます。

藤田でした。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?