iPhone アプリを作ってみたいけれど、手元にあるのは Windows パソコンだけ。Mac を買わないと始められないのか、と迷っている人は多いと思います。
結論から言うと、Windows でも iPhone アプリを作り、App Store に提出するところまで進められます。 ただし、Apple 公式の開発ツールである Xcode は Mac でしか動かないため、そのぶん工夫が必要です。この記事では、Mac が必要になる場面を整理したうえで、Windows から iPhone アプリを作る方法を紹介します。
結論:開発ツールを選べば、Mac なしでも作れる
Windows で iPhone アプリを作るなら、Expo(React Native)を使って、ビルドと提出をクラウドに任せる方法が一番進めやすい選択肢です。 方法ごとの違いは次のとおりです。
| 方法 | Mac | 費用の目安 | 向いている人 |
|---|---|---|---|
| Expo(React Native)+ EAS | いらない | Apple の年会費 + 必要に応じて EAS の有料プラン | Windows だけで完結させたい人 |
| Flutter | リリースには Mac が必要 | Apple の年会費 + Mac の用意 | Android 版も作りたく、Mac を借りられる人 |
| クラウドの Mac を借りる | 自分では持たない | Apple の年会費 + レンタル料 | Swift と Xcode で作りたい人 |
| Mac を用意する | 必要 | Apple の年会費 + Mac の購入費 | 長く iPhone アプリを作っていく人 |
どの方法でも、App Store でアプリを公開するには Apple Developer Program への登録(年会費99米ドル、日本では登録時に現地通貨で表示)が必要です。
Mac が必要になるのはどこか
Mac が必要になるのは、Apple の開発ツール「Xcode」を使う作業です。 Xcode は、iPhone アプリのビルド(実行できる形に変換すること)、iPhone の画面を再現するシミュレーター、App Store への提出などをまとめて行うツールで、macOS でしか動きません。

iPhone アプリの開発の流れと、それぞれで Xcode が必要かどうかをまとめると、次のようになります。
| 作業 | Xcode が必要か | Windows での代わりの方法 |
|---|---|---|
| コードを書く | いらない | VS Code などで書ける |
| 実機の iPhone で動かして確かめる | 方法による | Expo Go アプリで動かせる(Expo の場合) |
| シミュレーターで確かめる | 必要 | 実機で確かめる |
| ビルド(.ipa を作る) | 必要 | クラウドの macOS でビルドする(EAS Build など) |
| App Store へ提出する | 方法による | EAS Submit で提出できる |
つまり、ビルドと提出をクラウドに任せられる開発ツールを選べば、手元に Mac がなくても進められる ということです。
方法1:Expo(React Native)なら Windows だけで完結できる
Expo は、JavaScript(または TypeScript)で iPhone と Android のアプリを作れる React Native の開発ツールです。 Expo の公式ドキュメントでは、App Store への提出に使う EAS Submit について「macOS、Linux、Windows で動作するため、iOS のビルドを出荷するのに Mac は必要ありません」と説明されています。
開発中は、iPhone の Expo Go アプリで確かめる
開発中のアプリは、iPhone に「Expo Go」というアプリを入れておけば、パソコンに表示される QR コードを読み取るだけで実機で動かせます。 コードを書き換えると、iPhone の画面にもすぐ反映されます。シミュレーターがなくても、実際の iPhone で操作しながら作れるのが利点です。
ビルドは EAS Build がクラウドの macOS で行う
App Store に出すためのビルドは、Expo のクラウドサービス「EAS Build」に任せます。 ドキュメントによると、iOS のビルドはビルドごとに新しく用意される macOS の仮想マシンで行われ、Xcode などのツールもそこに入っています。手元の Windows からは、コマンドでビルドを依頼するだけです。
eas build --platform ios --profile production
提出は EAS Submit で行う
できあがったビルドは、EAS Submit で App Store Connect(Apple のアプリ管理画面)にアップロードできます。
eas submit --platform ios
アップロードしただけでは公開されないので、App Store Connect でアプリの説明や画像を整えて、審査に申請します。審査の流れはアプリの審査とはで紹介しています。
EAS には無料で使える範囲がありますが、ビルドの回数などに上限があります。条件は Expo の料金ページで確認してください。
方法2:Flutter で作り、リリースのときだけ Mac を使う
Flutter は、Google が開発している、1つのコードで iPhone と Android のアプリを作れるフレームワークです。 開発そのものは Windows でも進められ、Android 版なら Windows だけでビルドして公開できます。
ただし、iPhone 版については、Flutter の公式ドキュメントに「アプリのビルドとリリースには Xcode が必要で、macOS を搭載したデバイスを使う必要がある」と書かれています。Windows で開発を進め、iPhone 版のビルドと提出のときだけ、Mac を借りたり、後で紹介するクラウドの Mac を使ったりする形になります。
Android 版を先に公開して反応を見てから、iPhone 版に取りかかる、という進め方もできます。
方法3:クラウドの Mac を借りる
インターネット越しに Mac を遠隔操作できる「クラウド Mac」のレンタルサービスを使う方法もあります。 実際の macOS を操作できるので、Xcode と Swift を使った Apple 公式のやり方で開発できます。
月額や時間単位で借りられるサービスがあり、Mac を買うよりは初期費用を抑えられます。ただし、画面の操作は通信を通して行うため、手元の Mac に比べると動きが遅く感じることがあります。毎日長く使うなら、結果的に Mac を買ったほうが安くなる場合もあります。
どの方法を選べばいいか
迷ったら、次の基準で選んでください。
- とにかく Windows だけで iPhone アプリを出したい → Expo(React Native)
- iPhone と Android の両方に出したい、ゲームではないアプリを作りたい → Expo か Flutter
- Swift で、Apple 公式のやり方を学びたい → クラウドの Mac、またはいずれ Mac を用意する
- ゲームを作りたい → Unity などのゲームエンジン(iPhone 向けのビルドには、やはり Mac かクラウドのビルドサービスが必要)
スマホアプリの開発ツール全体の比較と、作り始めから公開までの流れは、スマホアプリの作り方で紹介しています。AI にコードを書いてもらいながら作る方法は、AI でアプリを作る方法を参考にしてください。
Windows で iPhone アプリを作るときの注意点
Mac なしで進める場合は、次の3つを知っておくと、途中で困りにくくなります。
- Apple Developer Program への登録は必ず必要:App Store で公開するには、どの方法でも年会費がかかります。登録には2ファクタ認証を設定した Apple アカウントが必要です
- テスト用の iPhone はあったほうがいい:シミュレーターが使えないため、実機で確かめることになります。古い機種でもいいので、手元に1台あると安心です
- ストアに載せる画像は、iPhone の画面サイズに合わせて用意する:App Store にはスクリーンショットの登録が必要です。実機で撮るか、画像編集ツールでサイズを合わせて作ります。ストアでの見せ方は ASO とはで紹介しています

まとめ
- iPhone アプリの公式開発ツール Xcode は Mac でしか動かない
- ただし、Expo(React Native)を使えば、ビルドはクラウドの macOS、提出は EAS Submit で、Windows だけで完結できる
- Flutter は開発は Windows でできるが、iPhone 版のリリースには Mac が必要
- どの方法でも、App Store で公開するには Apple Developer Program への登録(年会費99米ドル)が必要
Mac がないことは、iPhone アプリを作らない理由にはなりません。まずは Expo で小さなアプリを作り、手元の iPhone で動かしてみるところから始めてみてください。
完成したアプリは、Devoch に掲載して、使ってくれる人に届けることができます。