Swift開発の進め方/やり方/流れや方法/手法/工程/手順

Swift開発は、要件定義・企画、設計・開発、テスト・リリースの3段階で進むのが一般的です。要件、設計、審査の準備を先に固めておくと、途中の手戻りが起きにくくなります。

Swift開発の全体像は、以下の全体ガイドでも解説しています。

▼全体ガイドの記事
・Swift開発の完全ガイド

Swift開発の全体像

Swift開発のプロジェクトを新規開発、業務アプリ、Objective-Cからの移行、マルチプラットフォーム対応に分けた図解
公開先と移行範囲から案件の型を見分けられます。

SwiftはAppleが2014年のWWDCで発表した言語です。WWDCはWorldwide Developers Conferenceの略です。

Appleの各OSで使えるほか、Objective-Cに代わる選択肢として普及しました。2024年時点のStack Overflow調査でも人気があります。

言語そのものも進化しており、Swift 5.9以降では、マクロ機能やパラメータパックなどの高度な機能が追加され、より表現力豊かなコードを書けるようになっています。

2019年登場のSwiftUIは、宣言的UIで、UIKitよりコード量を減らせます。

進め方を理解するには、まずこの技術の全体像と開発プロジェクトの種類を把握しておくことが大切です。

Swiftの主要機能と活用領域

採用の理由は、言語機能と活用先に分けて見ると整理しやすくなります。

  • 型安全性:Optional型などで実行時エラーを抑える言語設計です。
  • UI開発:SwiftUIとCombineによる実装の効率化です。
  • 活用領域:iOSからSwift on Serverまで広がります。

Swiftが主力言語として広く採用されているのは、言語設計が安全で、性能にも優れ、活用の幅が広いためです。

まず、型安全性(Type Safety)はSwiftの最大の特徴のひとつです。コンパイル時に型の不整合を検出できるため、アプリの安定性を高められます。Optional型はnull参照によるクラッシュを防ぎ、Objective-Cで起きやすい問題も言語レベルで扱えます。

次に、性能面でもSwiftは優れています。LLVMコンパイラによる最適化で、多くのベンチマークにおいてObjective-Cと同等かそれ以上の実行速度を実現しています。メモリ管理はARC(Automatic Reference Counting)が行い、ガベージコレクションより性能を予測しやすいのも特徴です。

さらに、SwiftUIの登場でUIの作り方が大きく変わりました。宣言的な構文でUIを書き、プレビュー機能で画面をその場で確認できるため、デザイナーとエンジニアが同じ画面を見ながら作業を進められます。Combineフレームワークと組み合わせれば、リアクティブプログラミングもネイティブに扱えます。

また、iOSの消費者向けアプリやApple Watchのヘルスケア機能にも使えます。Apple TV、Swift on Server、Vapor、Hummingbirdにも対応します。

Apple Vision Pro向けのvisionOSアプリでは、SwiftとRealityKitの組み合わせが標準的な開発手法になっています。

Swift開発プロジェクトの種類と特徴

Swift案件は、公開先と移行の範囲によって必要な体制が変わります。

  • 新規開発:iOS向けのアプリを一から作る案件です。
  • 業務アプリ:社内の従業員向けに配布する形です。
  • 移行:既存のアプリを段階的に作り替える取り組みです。

Swift開発のプロジェクトは、目的や規模によっていくつかのタイプに分けられます。

第一に、iOSネイティブアプリの新規開発があります。BtoCのサービス、EC、SNSなどを、SwiftでApp Storeに公開するケースです。

SwiftUIまたはUIKitで開発し、Apple Human Interface Guidelinesに沿ってUIを設計します。機能面では、StoreKit 2、Core Data、クラウド連携も使えます。

第二に、エンタープライズiOSアプリの開発があります。Apple Business ManagerやMDM(Mobile Device Managementの略)を使い、社内に配布します。

営業支援、在庫管理、現場報告といった業務アプリが代表的です。

既存の社内システムやERPとのAPI連携が、重要な要件になります。

第三に、既存のObjective-CアプリをSwiftへ移すプロジェクトがあります。Objective-Cで作られたレガシーアプリをSwiftでリライトし、保守性の向上と最新のiOS機能への対応を図るものです。

移行中は、Bridging HeaderでSwiftとObjective-Cを連携します。

移行期間は6ヶ月から2年以上になる場合があります。

第四に、マルチプラットフォーム対応のSwift開発があります。SwiftUIを使うと、iOS、iPadOS、macOS、watchOS、tvOSなど、Appleの複数のOSにまたがる画面を共通化できます。

Appleのエコシステム全体を使う企業に向いています。

開発はXcodeを中心に環境を整え、Apple Developer Programへの登録やApp Storeの審査にも対応します。

ポイント

Swiftの特徴と、新規開発・業務アプリ・移行などプロジェクトの種類を分けて見ると、自社の案件がどの型に近いかを判断の材料にできます。

Swift開発の進め方

Swift開発が要件定義・企画、設計・開発、テスト・リリースの順に進む流れ図
審査準備やテストも含め、企画からリリースまで順に進みます。

Swift開発は、一般的なソフトウェア開発と同じく段階を追って進みます。iOSアプリではUXの品質が重要で、Webサービスとの連携やApp Tracking Transparency(ATT)の扱いも、早めに確認しておく必要があります。

ここでは、要件定義からテスト・リリースまでの3つのフェーズに分けて、それぞれの進め方を見ていきます。

要件定義・企画フェーズ

要件定義の段階で対象端末と審査条件まで先に決めておくと、後の手戻りを減らせます。

  • 目的:開発の狙いと成果を決めます。
  • 対応範囲:iOSのバージョン、端末、API、権限の範囲です。
  • 審査準備:App Store Connectと規約を確認します。

Swift開発の最初のステップは、要件定義と企画の策定です。

目標は数値で置くのが基本です。たとえば、コンバージョン率30%向上や、1件15分から3分への短縮が例になります。

対象とするiOSは、現行版と1つ前の版です。iPhone、iPad、Apple Watchのどの端末で、どの必要機能を使うかも決めます。

GPS、NFC、ARKitなどの機能も要件に含めます。API連携やATTの扱いも、要件に入れます。

画面は、Apple Human Interface Guidelinesに沿ってFigmaやSketchで試作し、ユーザーテストで操作を確かめます。

Apple Developer Programの年額は12,800円です。

あわせて、AppIDはApple側の管理画面で登録します。

要件定義フェーズの期間は、中規模のiOSアプリであれば2週間から1ヶ月半程度が一般的です。

要件が曖昧なままだと、App Storeでリジェクトされます。さらに、手戻りで費用が1.5倍から2倍になる場合もあります。

設計・開発フェーズ

設計では、アーキテクチャ、UI、開発環境を順に決めていきます。

  • 構造:MVVMやMVCなどのアーキテクチャから選びます。
  • UI/UX:画面構成と操作の流れを設計します。
  • 環境:XcodeとCI/CDの準備です。

要件定義が終わると、設計・開発フェーズに入ります。Swift開発の設計は、アーキテクチャ設計、UI/UX設計、開発環境の構築という3つのステップに分かれます。

アーキテクチャ設計では、アプリ全体の構造を定めます。SwiftのiOSアプリでは、SwiftUIとの相性の良さから、MVVM(Model-View-ViewModel)が広く採用されています。

UIKitを使う場合は、MVCやVIPERを選べます。MVCはModel-View-Controller、VIPERはView-Interactor-Presenter-Entity-Routerの略です。

SwiftUIベースの大規模アプリでは、The Composable Architecture(TCA)も注目されています。

データの保存先は、Core Data、SwiftData、Realmから選べます。なお、SwiftDataはiOS 17以降に対応します。

ネットワーク通信には、URLSessionをベースにしたAlamofireか、Apple純正のasync/await対応APIを使えます。

画面構成は、Apple Human Interface Guidelinesに沿って決めます。そのうえで、TabBar、NavigationStack、SplitViewの役割も整理します。

SwiftUIのプレビュー機能を使えば、デザインと実装を並行して進められます。

開発環境は、XcodeとSwift Package Manager(SPM)を整え、依存パッケージはSPMで管理します。リポジトリはGitHubやBitbucketなどから、CI/CDはXcode CloudやGitHub Actions、Bitriseなどから候補を検討します。

実装では、画面単位かフィーチャー単位でブランチを切って開発し、Pull Requestでコードレビューを経てからマージしていくのが効率的です。

SwiftUIを採用する場合は、Previewを使ってコンポーネント単位で開発でき、UIの品質を高い水準で保ちながら速く進められます。

設計・開発フェーズの期間は、小規模なiOSアプリであれば1ヶ月半から3ヶ月、大規模なエンタープライズアプリであれば4ヶ月から8ヶ月以上が目安です。

テスト・リリースフェーズ

テストとリリースは、品質確認から審査対応までを分けて考えます。

  • 検証:XCTestとXCUITestを使った自動テストです。
  • 性能:Instrumentsによる負荷の確認です。
  • 配布:TestFlightを使った審査前のテストです。

対象は、ビジネスロジックやデータモデルの動作と、画面遷移やユーザー操作のシナリオです。

Swift 5.9以降はSwift Testing(Testing Framework)も使え、ユニットテストのコードをより直感的に書けます。

テストカバレッジの目標は、ビジネスロジックの部分で80%以上とするのが望ましいとされています。

主要なユーザーフローにUIテストを整備しておくと、リグレッション(機能退行)を早期に見つけられます。

性能面では、InstrumentsでCPUとメモリ、バッテリー、通信量を測ります。測った結果からボトルネックを特定し、改善します。

循環参照によるARCの未解放には注意が必要です。Instrumentsの「Leaks」で定期的に確認します。

審査に向けては、App Store Review Guidelinesへの適合を確認します。あわせて、ATT、プライバシーポリシー、説明文も準備します。

審査には通常1日から3日程度かかりますが、初回審査やガイドラインに抵触する可能性がある機能を含む場合は、1週間以上かかることもあります。

リリース前には、TestFlightを使って社内テストとベータテストを行い、実際のユーザーの声を集めておくことが推奨されます。

TestFlightでは、最大10,000人の外部テスターにベータ版を配布できます。そのため、本番リリース前に品質を高める手段として役立ちます。

リリース後は、iOSの年次更新に対応します。障害は、Xcode OrganizerやFirebase Crashlyticsで追います。

ポイント

要件定義・企画、設計・開発、テスト・リリースのそれぞれで、先に決めることと後で確かめることを分けておくと、手戻りを減らせます。

費用相場とコストの内訳

Swift開発費用の配分目安として、要件定義・設計20%から30%、実装35%から45%、テスト15%から20%、管理と申請10%から15%を並べた図解
実装の割合が最も大きく、配分には項目ごとの幅があります。

Swift開発の費用は、プロジェクトの規模や要件によって大きく変わります。ここでは、一般的な相場の目安と費用の構成要素を見ていきます。

予算を立てるときは、初期の開発費用だけでなく、運用開始後のランニングコストも合わせて見ておく必要があります。

人件費と工数

費用は、アプリの規模と機能の組み合わせで比べると分かりやすくなります。

  • 小規模:150万円から400万円程度です。
  • 中規模:500万円から1500万円程度です。
  • 大規模:1500万円から5000万円以上です。

費用は、アプリの種類によっても大きく異なります。

たとえば、画面数が5画面から15画面程度で、APIとの連携がシンプルな情報表示アプリは、小規模の例にあたります。

中規模のBtoCアプリ(ECアプリ、予約管理アプリ、SNS機能を含むアプリなど)では、StoreKit 2やStripeの決済を入れると工数が増えます。Sign in with Apple、Firebase Authentication、チャットなども、費用に影響します。

大規模なエンタープライズアプリやフィンテックアプリで費用が大きくなるのは、暗号化や生体認証、オフライン、Apple Watch連携が対象に含まれるためです。

費用の配分の目安は、要件定義・設計が20%から30%、実装が35%から45%です。

テストは15%から20%、管理と申請は10%から15%が目安です。

Swiftエンジニアの人月単価は、経験やスキルによりますが、国内の開発会社では80万円から150万円が相場です。

特に、SwiftUIとCombine、async/awaitに精通したシニアエンジニアは需要が高く、単価も上がる傾向にあります。

初期費用以外のランニングコスト

運用費は、登録費、インフラ、保守に分けて見積もります。

  • 登録費:Apple Developer Programの年会費を毎年払います。
  • インフラ:AWSやGCPなどの利用料です。
  • 保守:OS更新とTCOを予算に組み込みます。

Swift開発では、初期費用だけでなく、リリース後のランニングコストも検討しておく必要があります。

金額は、個人・法人共通で12,800円、社内配布専用のApple Developer Enterprise Programでは37,800円で、いずれも1年分です。

次に、APIサーバーやデータベースのホスティングといったバックエンドインフラの費用がかかります。料金の目安は、AWSやGoogle Cloud Platform(GCP)を使う場合、小規模で月額1万円から5万円、中規模以上で月額5万円から30万円以上です。

Firebaseなら、Spark Planから始めて、利用量に応じてBlaze Planへ移行できます。

保守には、Xcode更新やパッチ、修正に加えて、毎年9月頃の新バージョンへの対応も含まれます。

一般的には、初期開発費用の15%から25%を、年間の保守費用として見込むのが適切です。

たとえば、初期開発費用が800万円のプロジェクトであれば、年間120万円から200万円の保守費用を予算に組み込んでおく必要があります。

App Store Connectの売上手数料は15%から30%です。なお、Small Business Programでは、年間売上100万ドル以下なら15%です。

APNs自体は無料です。通知の仕組みでは、Firebase Cloud MessagingやOneSignalも検討します。分析では、Firebase Analytics、Mixpanel、Amplitudeも候補になります。

3年間のTCO(Total Cost of Ownership)は、初期費用の2倍から2.5倍が目安です。

ポイント

初期開発費用は規模と機能で大きく変わるため、運用費と合わせて3年間のTCOで比べると、予算の判断材料がそろいます。

見積もりを取る際のポイント

Swift開発の見積もりを開発会社から取る際は、費用が妥当かを判断するポイントを押さえておく必要があります。

見積もりは、金額とあわせて内訳を確認します。そのうえで、iOS開発の専門性も見て、品質と費用の両面から判断します。

要件明確化と仕様書の準備

見積もりを依頼する前に、仕様の範囲と前提を具体的にしておきます。

  • 機能:画面、API、認証を明記します。
  • 端末:iOSのバージョンと対応機種です。
  • 外部連携:決済や地図、SNSとの連携範囲です。

見積もりの精度を高めるには、開発会社に依頼する前に要件をできるだけ具体化しておくことが大切です。通知や課金、オフラインの扱いも、あらかじめ整理しておきます。

仕様書やRFP(提案依頼書)を用意して依頼すれば、各社の見積もりの精度が格段に高まり、比較の土台がそろいます。

「iOSアプリを作りたい」といった曖昧な依頼では、各社が想定する範囲がばらばらになり、見積もり金額を比べるのが難しくなります。

あわせて、FigmaやAdobe XDでプロトタイプを作っておけば、開発会社が範囲を正確に把握でき、より精緻な見積もりが得られるでしょう。

複数社比較と発注先の選び方

候補となる会社は、実績と体制を同じ基準で比べます。

  • 比較数:見積もりを並べて比べる会社の数です。
  • 実績:App Storeに公開しているアプリを確認します。
  • 体制:SwiftUIやUIKit、審査経験の有無を見ます。

同じ要件を3社以上に伝えても、会社によって見積もり金額が2倍から3倍の開きが出ることは珍しくありません。

これは、各社の技術力や実績、人員体制が違うことに加え、利益率の設定や見積もりに含める作業範囲も異なるためです。

発注先を選ぶ際は、公開済みのアプリを実際にダウンロードして触ると、UI/UXの品質やパフォーマンスを直接評価できます。

発注側は、最新iOS APIとリジェクト対応の実績がある会社かも、あわせて見ておきます。

また、アジャイル開発への対応力も大切です。iOSアプリ開発では、途中でUI/UXの改善点が見つかることが多いため、柔軟に範囲を調整できる体制があるかを確認しておきましょう。

安すぎる見積もりは、テストが不足していないかに注意します。日本語対応やApp Store審査への理解も確かめます。

逆に、極端に高い場合は、大手SIerが下請けに再委託しているケースも考えられます。そのため、実際にコードを書くチームの構成と技術力を確認することが欠かせません。

注意すべきリスクと対策

Swift開発のリスクは、審査、更新、権利の3点から確認します。

  • 審査:ATTとプライバシーの扱いです。
  • 更新:WWDCとiOS更新への備えです。
  • 権利:ソースコードとアカウントの管理です。

まず、App Store審査でリジェクトされるリスクがあります。Appleの審査は年々厳しくなっており、主な論点はATTとデータ収集、課金、デザイン違反です。

対策としては、開発の初期段階からガイドラインを読み込み、過去のリジェクト事例も参考にしながら設計を進めます。

次に、iOSバージョンアップへの対応リスクがあります。Appleは毎年9月頃に新しいiOSを出しますが、非推奨APIの廃止やUIの挙動変更によって、既存アプリが正しく動かなくなることがあります。

この対策として、WWDC(毎年6月開催)の発表内容を速やかに把握し、ベータ版のiOSで事前テストを行える体制を整えておくと有効です。

また、Swiftの言語バージョンアップに伴うマイグレーションのリスクも、考えておく必要があります。たとえば、Swift 4からSwift 5へ移ったときのように、大規模な言語仕様の変更があると、既存コードの書き換えに相応の工数がかかります。

契約面では、ソースコードの知的財産権が誰に帰属するかを明確にしておくことが不可欠です。著作権が開発会社にあると移管が難しくなるため、納品物にソースコード一式を含めておきます。

さらに、Apple Developer Programのアカウントも、自社で運用することを強く推奨します。開発会社のアカウントでアプリを公開すると、契約終了後に管理権限を移す際にトラブルが起きるケースがあるためです。

ポイント

仕様の範囲をそろえたうえで3社以上を同じ基準で比べ、実績と体制、テストや内訳まで見ると、金額の差がなぜ生じたのかを読み取れます。

まとめ

Swift開発の全体像から進め方、費用相場とコストの内訳、見積もりを取る際のポイントまでを解説してきました。

Swiftは、Appleの主要なOS(iOS、macOS、watchOS、tvOS、visionOS)に対応します。SwiftUIとSwift 5.9以降の機能で、開発の幅を広げられます。

対応端末、iOS版、審査要件は、要件定義の段階で決めます。MVVMによる設計や見積もりの比較、3年間のTCOも計画に入れます。

毎年のWWDCでは、新しいAPIが発表されます。候補には、Swift ConcurrencyとSwiftDataがあります。WidgetKitやApp Intentsも検討の対象です。

最新の動向を把握し、より高品質なiOSアプリを目指します。

▼関連する全体ガイド
・Swift開発の完全ガイド

会社紹介

株式会社riplaでは、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを、構想策定・要件定義から開発・改善まで一気通貫で支援。事業会社でIT・DXを経験したプロフェッショナルによる高い要件定義力・システム設計力を活かし、事業成果の最大化に伴走します。

また、当社独自の開発テンプレート「Boxシリーズ」による標準機能の高速開発と、AI駆動開発の独自フレームワーク「GoDD」による独自機能のAI実装を組み合わせることで、低コスト・短期間で開発を実現いたします。

もし、システム開発やプロダクト開発に関するご要望がございましたら、お気軽にお問い合わせください。

・サービス概要資料のURLはこちら >>>
・お問合せページのURLはこちら >>>
・お役立ち資料のURLはこちら >>>

執筆者プロフィール
張田谷凌央
張田谷凌央

株式会社ripla 代表取締役CEOとして、システムパッケージ活用、システム開発、データ分析、生成AI活用、SaaS開発、アプリ開発、EC構築など、幅広い領域で企業のDX推進と事業成長を支援している。事業会社でIT・DXを経験したプロフェッショナルが集う株式会社riplaにおいて、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを構想策定・要件定義から開発・改善まで一気通貫で支援し、単なるシステム納品にとどまらず、クライアントと同じ目線で事業成果の最大化に向けた伴走支援を行う。早稲田大学卒業後、ラクスル株式会社、LINEヤフー株式会社にて事業開発やDX推進などに従事した後、株式会社riplaを創業。