본문으로 건너뛰기
cccskills
무료GitHub에 공개

swift-ios-migration

Migration guide for Swift and iOS. Use when migrating ObservableObject to @Observable (iOS 17), enabling Swift 6/6.2 Strict Concurrency, fixing @MainActor/Sendable warnings, adopting Approachable Concurrency (Swift 6.2), or handling iPadOS 26 windowing system changes (UIRequiresFullScreen deprecation). Covers breaking changes and version upgrade tasks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(5)

  • SKILL.md5.4 KB
  • references/ios17-observable.md5.6 KB
  • references/ipados26-windowing.md14.0 KB
  • references/swift6-concurrency.md8.1 KB
  • references/swift62-changes.md5.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Swift/iOS マイグレーションガイド

既存コードの移行作業やバージョンアップに伴う破壊的変更への対応ガイド。

ディレクトリ構成

swift-ios-migration/
├── SKILL.md (このファイル)
└── references/
    ├── ios17-observable.md   # @Observable移行パターン
    ├── swift6-concurrency.md # Swift 6並行処理対応
    ├── swift62-changes.md    # Swift 6.2 / Xcode 26
    └── ipados26-windowing.md # iPadOS 26ウィンドウシステム

リファレンスファイル

references/ios17-observable.md

iOS 17+ @Observableマクロへの移行ガイド:

  • 移行パターン: ObservableObject → @Observable
  • @Bindable: @Published/@Bindingの代替
  • @Environment変更: 環境値の新しい渡し方
  • パフォーマンス向上: プロパティ単位の監視
  • 注意点: 互換性、既存コードとの共存

references/swift6-concurrency.md

Swift 6並行処理対応ガイド:

  • @MainActor: ViewModel全体への適用、UI保護
  • Sendable: データモデル設計、アクター境界
  • 移行チェックリスト: Strict Concurrency Checking有効化
  • よくある警告と解決策:
    • "Non-sendable type captured"
    • "Actor-isolated property cannot be mutated"
  • Actor: カスタムActorでスレッドセーフ保証

references/swift62-changes.md

Swift 6.2 / Xcode 26 移行ガイド:

  • Approachable Concurrency: より使いやすい並行処理
  • Default Actor Isolation: MainActorをデフォルトに
  • @concurrent: 明示的なバックグラウンド実行
  • Xcode 26新機能: AI Coding Tools、Playground強化
  • デバッグ改善: LLDB強化、並行処理デバッグ

references/ipados26-windowing.md

iPadOS 26 ウィンドウシステム移行ガイド:

  • UIRequiresFullScreen廃止: Info.plistからの削除、Auto Layout対応
  • シーンジオメトリ: UIWindowScene.Geometry、effectiveGeometry、リサイズ検知
  • サイズ制限: UISceneSizeRestrictions、minimumSize/maximumSize設定
  • 方向ロック: prefersInterfaceOrientationLocked、方向変更監視
  • メニューバー対応: SwiftUI Commands、UIMenuBuilder、キーボードショートカット
  • マルチウィンドウ: UIApplicationSupportsMultipleScenes、新規ウィンドウ作成
  • Trait Collection: サイズクラス対応、自動トラッキング

使用方法

iOS 17 @Observable移行時

  1. references/ios17-observable.mdで移行パターン確認
  2. 新規コードから@Observableを使用開始
  3. 既存の小さなViewModelから段階的に移行
  4. 大きなViewModelは慎重に移行

Swift 6移行時

  1. references/swift6-concurrency.mdでチェックリスト確認
  2. Strict Concurrency Checkingを有効化
  3. ViewModelに@MainActorを追加
  4. データモデルをSendableに対応
  5. 警告を順次解消

Swift 6.2移行時

  1. references/swift62-changes.mdで新機能確認
  2. Xcode 26にアップデート
  3. Approachable Concurrencyを有効化
  4. Default Actor IsolationをMainActorに設定
  5. 必要な箇所に@concurrentを追加
  6. 既存のSwift 6コードを簡略化

iPadOS 26ウィンドウシステム対応時

  1. references/ipados26-windowing.mdで移行チェックリスト確認
  2. UIRequiresFullScreenをInfo.plistから削除
  3. Auto Layoutでサイズ適応レイアウトを実装
  4. UISceneSizeRestrictionsで最小サイズを設定
  5. メニューバー対応(外部キーボード使用時)

移行優先順位

Swift 6.2(推奨順)

  1. Build SettingsでApproachable Concurrencyを有効化
  2. Default Actor IsolationをMainActorに設定
  3. 必要な箇所に@concurrentを追加
  4. 既存のSwift 6コードを簡略化

Swift 6(推奨順)

  1. ViewModelに@MainActorを追加
  2. データモデルをSendableに対応
  3. 非同期処理をasync/awaitに統一

iOS 17 @Observable(推奨順)

  1. 新規コードから@Observableを使用
  2. 既存の小さなViewModelから移行
  3. 大きなViewModelは慎重に移行

iPadOS 26(推奨順)

  1. Xcode 26でビルド・テスト
  2. UIRequiresFullScreenを削除
  3. Auto Layout対応を確認
  4. メニューバー実装

バージョン対応表

機能Swift 5.9Swift 6Swift 6.2
Strict ConcurrencyOpt-inDefaultDefault
@MainActor✅✅✅
Default Actor Isolation--✅
@concurrent--✅
Approachable Concurrency--✅
機能iOS 16iOS 17iOS 18iOS 26
@Observable-✅✅✅
iPadOS新ウィンドウシステム---✅

関連スキル

  • swiftui-components: UIコンポーネントカタログ
  • swiftui-coding-guidelines: 基本的なベストプラクティス
  • swiftui-ssot: 状態管理の設計
  • swiftui-accessibility: アクセシビリティ実装

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Retrofit + OkHttpを使用したAPIクライアント実装のベストプラクティスを提供する。 「API実装」「APIクライアント」「Retrofit」「OkHttp」「ネットワーク」と言われたら使う。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

xtone/ai_development_tools32026년 10월 16일 업데이트

Androidプロジェクトのアーキテクチャ設計を支援。プロジェクト特性に応じてMVI/MVVM/シンプルComposeから最適なパターンを提案し、パッケージ構造の設計と既存プロジェクトの分析を行う。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

xtone/ai_development_tools32026년 10월 16일 업데이트

Firebase Crashlyticsのスタックトレースを解析し、トリアージ分類→根本原因分析→修正提案を出力するスキル。/crash-analyze コマンド、クラッシュ解析、スタックトレース分析、ANR分析、Crashlytics、クラッシュレポート、またはFirebase crashに関連するリクエストで使用される。クラッシュ対応のワークフローを標準化し、対応品質と速度を向上させる。ANR/Non-fatal/Fatal全タイプ対応。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

xtone/ai_development_tools32026년 10월 16일 업데이트

Android data layer implementation guide. Provides comprehensive patterns for Room Database (Entity, DAO, Migration), DataStore (Preferences), Repository layer design, and common pitfalls. Use when implementing local data storage, cache strategies, or data source integration in Android projects.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

xtone/ai_development_tools32026년 10월 16일 업데이트

重要: ユーザーがAndroidテスト実行をリクエストした場合、常にこのスキルを最初に使用してください。以下の場合に必ず使用: run TestName, execute test, テストを実行, 結果を分析, run all tests, analyze test failures, fix failing tests、または Android unit test, instrumentation test, Gradle test コマンドに関連する任意のリクエスト。./gradlew test や Bash コマンドを直接使用しないでください - 常にこのスキルに委譲してください。Multi-variantプロジェクト、JAVA_HOME セットアップ、一般的なテストパターンに対応しています。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

xtone/ai_development_tools32026년 10월 16일 업데이트

Jetpack ComposeでUIを実装する時に参照するコーディングガイドライン。 「Android UI」「Compose」「Jetpack」「画面実装」「UIコンポーネント」「レイアウト」と言われたら使う。 Android/Kotlin UI実装のベストプラクティス、アンチパターン、実装パターンを提供する。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

xtone/ai_development_tools32026년 10월 16일 업데이트

xtone의 스킬 모두 보기

이 스킬의 문제 신고