本記事では、日本向けiOSアウトソーシングの実例として、Sonixが本番稼働中でありながら複数世代前のSwiftバージョンに取り残されていたiOSアプリを、C社と共に刷新した経緯をご紹介します。Swift 2からSwift 5.3.2への全面移行、継続的な保守、そして新機能開発までを、実際のユーザーへの影響を一切与えることなく成功させました。
— 概要情報
| 項目 | 内容 |
| クライアント | C社(匿名)· テクノロジー業界、日本 |
| 業界 | テクノロジー |
| カテゴリー | ソフトウェアアウトソーシング/モバイル開発(iOS) |
| 所在地 | 日本 |
| チーム規模 | 2名のエンジニア |
| フェーズ | コーディング・単体テスト・継続保守 |
| 実施期間 | 2022年4月開始・現在もラボ型プロジェクト継続中 |
— 概要
プロジェクト概要
Sonixは、日々実際のユーザーにサービスを提供しているiOSアプリの刷新においてC社と協業しました。しかしそのアプリは、Appleが完全にサポートを終了したSwift 2で構築されていました。これは典型的な日本向けiOSアウトソーシングの課題であり、古いコードベースが技術的負債を蓄積し続ける一方で、アプリの稼働を止めることはできないという状況でした。
協業範囲には、Swift 2からSwift 5.3.2への全面移行、移行後の継続的な保守、そしてクライアントのロードマップに沿った新機能開発が含まれ、2022年4月以降、長期的なラボ型モデルとして運用されています。
— Sonixが選ばれた理由
C社が日本向けiOSアウトソーシングにSonixを選んだ理由
C社が求めていたのは、Swiftに精通しているだけでなく、複数バージョンにまたがる移行プロジェクトを主導した経験を持ち、なおかつ日本のビジネス文化に適応できるパートナーでした。Sonixはその両方の条件を満たしていました。
📱 iOS・Swiftの専門知識Sonixのエンジニアは複数世代のSwiftにわたる実務経験を持ち、複雑なマルチバージョン移行を、混沌とした改修ではなく体系立てられたプロセスとして遂行します。 | 🤝 日本市場への対応力バイリンガル体制と日本企業との豊富な取引実績を持ち、明確な報告、構造化されたスプリント、Backlogを用いたクライアントの要求に沿った連携を実現します。 | 🔄 長期ラボ型モデルSonixは納品して終わりではなく、組み込み型の開発チームとして機能し、クライアントの各フェーズに合わせて継続的に保守・テスト・拡張を行います。 |
— 課題
課題:技術的負債を蓄積し続ける旧コードベース
C社は実際に稼働しているiOSアプリを保有していましたが、Appleがすでに廃止し、Xcodeも十分にサポートしていないSwift 2で構築されていました。このプラットフォーム上での維持や機能追加は、APIの非互換性、ABIの不安定性、パフォーマンスの劣化、そして最新のiOSエコシステムとの乖離といったリスクを積み重ねることを意味していました。
クライアントが求めていたのは、複数のSwiftバージョンにまたがる移行を安全に主導できるチームでした — 単なる構文の更新にとどまらず、非推奨パターンのリファクタリング、SQLiteデータ層の刷新、そしてユーザーに一切気づかれることなく内部の変更を完了させる必要がありました。
移行完了後も、同じパートナーシップの中で継続的な保守と機能拡張を維持することが求められていました。
— 実施方法
私たちのiOS移行アプローチ
1
コードベース監査と移行ロードマップ策定
まずSwift 2コードベースの全面監査を行い、非推奨API、サポート対象外の構文、対応が必要なサードパーティ依存関係を洗い出しました。そこから、Swift 2 → 3 → 4 → 5.3.2という段階的な移行計画を検証しながら構築し、バージョン間でのカスケード障害のリスクを最小限に抑えました。
2
コードの刷新とAPIリファクタリング
構文の更新に加え、value semantics、適切なoptional処理、async-safeなパターン、SwiftUI対応構造といった最新のSwiftイディオムを活用するようアーキテクチャをリファクタリングしました。SQLite層は安定性とパフォーマンス向上のために再構築し、リグレッションを早期に検知するため、リファクタリングの各段階に合わせて単体テストを並行して作成しました。
3
継続保守と新機能開発
移行完了後、Sonixはシームレスに長期ラボ型モデルへ移行し、バージョン更新の管理、バグ対応、各サイクルでの新機能開発を担当しました。すべての作業はBacklogとGitで追跡され、クライアントチームに対する透明性と完全なトレーサビリティを確保しています。
— ソリューション
ソリューション:将来を見据えた最新のiOSアプリ
Sonixは、C社のiOSアプリをSwift 2からSwift 5.3.2へ全面移行し、リスクの多い旧コードベースを、安定して保守しやすく、現行のAppleプラットフォーム基準に完全準拠したプロダクトへと転換しました。この過程では、非推奨のUIKit API(UIAlertView、UIWebViewや旧式のネットワーキングパターンなど)を体系的に置き換え、Swiftの最新の型システムを全面的に採用し、SQLite連携層の信頼性とパフォーマンスの両面を最適化しました。
成果は移行だけにとどまりません。継続的なラボ型モデルのもとで、Sonixチームは引き続きC社専任のiOS開発パートナーとして、新機能の実装、Appleの各アップデートに対するiOS互換性の管理、定期的な単体テストによるコード品質の維持を担っています。すべてのワークフローはGitとBacklogを通じて透明に管理されており、クライアントはこの日本向けiOSアウトソーシングプロジェクトの各段階を完全に把握・コントロールできます。
— 使用技術
使用技術
本プロジェクトでは、主要言語としてSwiftを使用し、iOSフレームワーク(UIKit)とAppleのテストツールキットであるXCTestを組み合わせることで、移行後のコードがApp Storeの基準を満たし、最新のiOSバージョンと互換性を持つことを確保しました。
— 成果
成果とインパクト
100% 移行完了 Swift 2からSwift 5.3.2まで、本番環境を一切中断することなくコードベース全体を移行しました。 | 3年以上 継続的なパートナーシップ 2022年から続く長期ラボ型プロジェクトで、継続的な保守と機能開発を実施しています。 | 安定 最新のiOS基盤 現行のiOS APIで動作し、ABIも安定、パフォーマンスと機能セットも拡充されました。 |
計画的な移行手法と長期的な日本向けiOSアウトソーシングモデルにより、C社は今や完全に最新化されたiOSアプリを保有し、今後のあらゆるAppleのアップデートにも技術的負債を抱えることなく対応できる状態になりました。
— 実装済み機能
納品済みの機能
| 機能 | 説明 |
| 複数バージョンにわたるSwift移行 | Swift 2 → 3 → 4 → 5.3.2へと段階的にアップグレードし、各チェックポイントで綿密に検証してから次のバージョンへ進行。 |
| 非推奨APIの置き換え | 旧UIKit API(UIAlertView、UIWebViewなど)をすべて最新の代替に置き換え、Xcode互換性とApp Store申請への対応を確保。 |
| コードの最適化 | 最新のSwiftイディオム(適切なoptional処理、value type、プロトコル指向パターン)に沿ってコアロジックをリファクタリングし、技術的負債を削減、保守性を向上。 |
| SQLite層の刷新 | データベースアクセス層を再構築し、クエリパフォーマンス、スレッドセーフティ、最新のSwift並行処理への対応を向上。 |
| XCTestによる単体テスト一式 | 移行と並行してXCTestによる包括的な単体テストを作成し、動作を検証、リグレッションを検知、各リリースの信頼性を確保。 |
| 新機能開発 | 移行完了後のラボフェーズでは、C社のプロダクトロードマップに沿って新機能を継続的に開発。 |
| 透明性のあるプロジェクト管理 | すべての作業をBacklogとGitで追跡し、クライアントはいつでもタスクの状況、コミット履歴、リリース計画を確認可能。 |
— お客様の声
クライアントの声
Sonixに相談した当時、私たちのiOSアプリは最新のXcodeバージョンとの互換性問題を抱え始めており、いずれ更新版をリリースできなくなるのは時間の問題でした。Sonixのチームは移行プロセス全体を非常に丁寧に進め、各段階で私たちに報告してくれました。その結果、アプリは以前よりも格段に安定し、高速になりました。特に印象的だったのは、私たちのワークフローに素早く適応し、一切のペースダウンなく新機能を追加し続けてくれたことです。移行完了後も引き続きSonixと協業しており、今後も長期的なパートナーシップを継続していく予定です。
— プロジェクトマネージャー、C社 · 日本
Sonix — お客様の成功が、私たちの喜びです。
貴社にも同様のソリューションが必要ではありませんか?
Sonixはこれまで日本およびグローバルの50社以上の企業と共に、手作業のプロセスを効率的なデジタルシステムへと転換してきました。専門チームが貴社に最適なロードマップをご提案します。
⚡ 24時間以内に返信 | 🎯 専門家によるご相談 | ✅ 完全無料 |
その他のご案内


Contact Us For Your Next Project