この記事を読んでわかること
- MacなしでiOSアプリ開発を進める方法
- App Store公開まで可能なケース・難しいケースの違い
はじめに
iOSアプリを開発するにはMacが不可欠だと思う人が多いのではないのでしょうか。
結論から言えば、Macなしでも、外部サービスを活用すればiPhone+WindowsでiOSアプリの開発からリリースまで進めることは可能です。
なんなら、コードを書いて、コードに沿ったアプリの挙動を確認するだけならiPhoneのみで完結します。 しかも無料で。
当記事ではiOSアプリの開発環境と、開発環境ごとに出来ること・できないことをわかりやすく解説します。ぜひ最後までご覧になってください。
【前提】iOSアプリ開発方法
iOSアプリ開発は、ここではわかりやすく「Macを使う方法」と「Macを使わない方法」に分けて考えます。
| 比較項目 | Macを使ったアプリ開発 | 評価 | 評価 | Macを使わないアプリ開発 |
|---|---|---|---|---|
| 開発の自由度 | 高い。Xcodeを使ってiOSの標準環境で開発でき、細かな設定や調整にも対応しやすい | 〇 | 低め。使える手法が限られ、クラウドサービスや例外的な方法に依存しやすい | |
| 開発の始めやすさ | Macの用意やXcodeの導入が必要で、初期ハードルは高い | 〇 | 既存のWindows環境やiPhoneだけで始められる場合があり、着手しやすい | |
| 初期コスト | 高い。Mac本体の購入コストがかかる | 〇 | 低い。手元の端末を流用しやすい | |
| iOSシミュレータ利用 | 可能。Mac上でiOSシミュレータを使って効率よく確認できる | 〇 | 基本的に不可。実機確認や外部サービスへの依存が増える | |
| 実機確認のしやすさ | 高い。Xcode経由で実機テストやログ確認がしやすい | 〇 | 条件付き。方法によっては確認できるが、標準的な検証環境ほど柔軟ではない | |
| ネイティブ機能対応 | 強い。権限設定、証明書、Capability、ネイティブコード調整まで対応しやすい | 〇 | 弱い。ネイティブ側の調整が必要になると急に苦しくなる | |
| トラブル対応力 | 高い。Xcodeでログ、署名、ビルドエラーを直接確認しやすい | 〇 | 低め。問題発生時に切り分けしづらく、外部サービス頼みになりやすい | |
| App Store公開までの一貫性 | 高い。Apple標準フローに沿ってそのまま公開まで進めやすい | 〇 | 低め。公開可能なケースはあるが、方法が限定される | |
| 学習コスト | 高い。XcodeやApple特有の設定を覚える必要がある | △ | 一見低いが、制約の理解や回避策の把握が必要で、別の難しさがある | |
| 将来の拡張性 | 高い。アプリ機能追加や複雑化にも対応しやすい | 〇 | 低め。小規模・限定用途には向くが、成長すると限界が出やすい |
iOSアプリ開発方法のまとめ
- Macを使った開発 自由度・安定性・拡張性が高く、Appleの標準ルートで進めやすい。代わりに初期費用と学習コストは重い。 →継続的にiOSアプリを出したい人、本格運用したい人
- Macを使わない開発 低コストで始めやすいが、できることに制約があり、公開やネイティブ対応では不利になりやすい。 →まず低コストで試したい人、学習用・小規模開発から始めたい人
Macを使った開発の方が自由度は高いものの、Macなし開発にも十分な実用性があります。
特に、初期費用を抑えて始められる点は大きな利点です。
そして、Macなしの一番の利点はMacを買わなくていいこと! ちょっとアプリ作ってみようかな。ぐらいの気持ちで人は約10万円以上も出せませんよね。(私は出せませんでした。)
以上の理由から、できることは少ないけど、まずは低コストで始められる「Macを使わないアプリ開発」を私は推奨しています。
【本題】Macを使わないアプリ開発の方法
MacなしでiOSアプリを開発するには、Apple標準のMac環境の代わりに、外部の開発サービスやクラウドサービスを活用する必要があります。
そして、どこまでやりたいかによって、必要なツールやサービスの構成が変わります。
具体的な環境構築や操作手順は、別記事で順を追って紹介する予定です。
iPhone完結で、自分が書いたコードがどのように反映されるか確認したい人
→Snack + Expo Go + iPhone(iPad可)
Snack:ブラウザ上でReact Nativeのコードを試せる実験環境
Expo Go:作成したアプリの挙動を実機で確認できるアプリ
Macなしで開発する最小構成はこれです。
この構成でも、アプリの画面や基本的な動きは十分確認できます。
できること
- コードを書いて、画面表示や動作をすぐ確認する
- ボタン、入力欄、画面遷移などの基本的な挙動を試す
- React NativeやExpoの学習・試作を始める
できないこと
- App Store公開用のiOSアプリをビルドする
- ネイティブ機能を細かく調整する
- 本番公開を前提とした提出作業を完結させる
アプリのリリースまで行きたい人
→Expo開発環境 + EASサービス + iPhone(iPad可)+ Apple Developer Program登録
Expo開発環境:PC上でExpoアプリを作成・編集・管理するための開発環境
EASサービス:アプリのビルドや提出をクラウド上で行うサービス群
iPhone(iPad可):作成したアプリの実機確認を行うための端末
Apple Developer Program登録:iOSアプリをApp Storeで公開するために必要な開発者登録(有料、年間登録料は99米ドル)
おわりに
MacなしのiOSアプリ開発は、制約こそありますが、思っているほど何もできないわけではありません。 少なくとも、「自分でコードを書いて、実際にiPhoneで動かしてみる」ところまでは、かなり低コストで始められます。
もちろん、本格的に運用するならMacありの開発環境の方が強いです。 ただ、最初の一歩としては、Macなし開発にも十分な価値があります。
いきなり高価な機材をそろえるよりも、まずは小さく作ってみる。 その結果、「もっとやりたい」と思えたら次の環境に進めば十分です。
私と同じように、まずは低コストでiOSアプリ開発を始めてみたい方の参考になれば幸いです。