mcpField
I
ios-dev

ios-dev

github.com/prisma-labs-dev開発349721 回インストール5 週間前に更新
リポジトリ

ios-dev について

ios-devは、Apple開発スキルを案内する調整用スキルです。iOS開発で必要なガイドやAPIリファレンスを選びやすくし、特定のアーキテクチャを必須とせず、レビュー、改善、機能開発の手順を扱います。

主な機能

  1. 01関連するAppleスキルへの案内
  2. 02SwiftUIとUIKitのガイダンス
  3. 03トピック別APIリファレンス索引
  4. 04コードレビュー用の正確性チェックリスト
  5. 05レビューと機能開発のワークフロー

活用シーン

  1. 01SwiftUI機能の参考資料選び
  2. 02既存iOSコードのレビュー
  3. 03開発トピックに対応するAPIの検索
  4. 04正確性ルールに沿ったコード確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/prisma-labs-dev/apple-skills --skill ios-dev

インストール後、Claude Code で/ios-devを入力して読み込まれたか確認します。

詳細

iOS 開発

まずはここから始めてください。このスキルは Apple スキルコレクションを調整し、どのスキルをいつ使うかを案内します。これにより、確かな指針と API リファレンスを合わせて利用できます。

運用ルール

  • SwiftUI と UIKit はどちらも第一級の選択肢です。タスクに合う方を選んでください。より高い制御性や柔軟性が得られるなら、UIKit はいつでも有効な選択肢です。両者を橋渡しする場合は、状態の同期、ライフサイクル、アニメーションと環境の境界に注意してください。
  • 特定のアーキテクチャ(MVVM、VIPER、MV、TCA など)を押し付けないでください。ビジネスロジックとビューを分離するよう促しつつ、その方法を指定しないでください。
  • UI の完成度には高い基準を設けてください。アプリは最新世代のものらしく、流れるようで、デザイン性が高く、生き生きと感じられるべきです。細部までこだわってください。体験の向上につながるなら、カスタムコンポーネント、斬新なインタラクション、カスタム Metal シェーダーも問題ありません。システムのデフォルトは最低ラインであり、上限ではありません。
  • その完成度をどう実現するかは指定しないでください。独自のスタイルを押し付けたり、「Apple 公認」であることを基準にしたり、美的なチェックリストを課したりしないでください。デザインの方向性は、アプリごとに自分の判断で決めてください。hig と ios-liquid-glass のスキルには、システムが提供する機能が記載されています。これらは参考資料であり、スタイルを義務付けるものではありません。画面をデザインしたり、見栄えを良くしたりするタスクでは、参照先に振り分けるドキュメントはありません。自分の感性でデザインしてください。API の仕組みや事実に基づく最低基準(タップ対象のサイズなど)が必要な場合に限り、参照資料を grep してください。
  • パフォーマンスの最適化は、一律の要件としてではなく、理由に裏打ちされた提案として提示してください。
  • API の正確な詳細が必要な場合は、フレームワークリファレンススキルを grep してください。Apple の完全なドキュメントが含まれています。

タスク別ワークフロー

既存コードをレビューする
  1. コードを読み、該当するトピックを特定します
  2. 以下の正確性チェックリストを実行します。違反はバグです
  3. トピックルーターを使って、各トピックに関連するガイドを読み込みます
  4. API の正確性については、該当するフレームワークリファレンススキルを grep します
既存コードを改善する
  1. まず正確性チェックリストを実行します
  2. パフォーマンスの問題には、guide-swiftui-performance-audit を使います
  3. ナビゲーション、状態、パターンに関する質問には、Apple の swiftui-specialist(Xcode 27 に同梱。ユーザーのスキルディレクトリにエクスポート済み)を使い、次に swiftui API リファレンスを参照します
  4. API の詳細については、該当するフレームワークリファレンススキルを grep します
新機能を構築する
  1. まずデータフローを設計し、所有する状態と注入される状態を特定します
  2. UI パターンとアプリの配線には、Apple の swiftui-specialist を使い、次に swiftui API リファレンスを参照します
  3. API の詳細については、該当するフレームワークリファレンススキルを grep します
  4. 差分計算が最適になるようビューを構成します。早い段階でサブビューを切り出してください
  5. 作業を終える前に正確性チェックリストを実行します

トピック別ルーター

ガイド列には、見解を含む簡潔なパターンガイドがあります。API リファレンス列には、grep 可能な Markdown 形式の Apple ドキュメント全文があります。各機能の情報を掲載しているフレームワークを探すには、apple-docs-index を使用してください。

トピックガイドAPI リファレンス
状態管理swiftui-specialist (Apple, Xcode 27)swiftui (state.md, binding.md, observation.md, environment.md)
ビューの構成—swiftui (view-protocol.md)
パフォーマンスguide-swiftui-performance-audit—
ナビゲーションswiftui-specialist (Apple, Xcode 27)swiftui (navigationstack.md, navigationsplitview.md, navigationlink.md)
シートとモーダルswiftui-specialist (Apple, Xcode 27)swiftui (sheet.md, inspector.md, alert.md, confirmationdialog.md)
リストと ForEachswiftui-specialist (Apple, Xcode 27)swiftui (list.md)
ScrollViewswiftui-specialist (Apple, Xcode 27)swiftui (scrollview.md)
フォームと入力—swiftui (form.md, textfield.md, picker.md, toggle.md, slider.md)
グラフguide-swiftui-chartsswiftui (chart.md, charts-overview.md)
アニメーションswiftui-specialist (Apple, Xcode 27)swiftui (swiftui-overview.md)
レイアウトswiftui-specialist (Apple, Xcode 27)swiftui (geometryreader.md, grid.md, hstack.md, vstack.md, zstack.md, spacer.md)
TabViewswiftui-specialist (Apple, Xcode 27)swiftui (tabview.md)
Liquid Glass—ios-liquid-glass
アクセシビリティswiftui-specialist (Apple, Xcode 27)hig (a11y/人間工学に関する事実)
macOS アプリguide-macos-spm-packagingswiftui, uikit
データ永続化guide-swiftdataswiftdata
テストguide-swift-testingswift-testing, xcuitest
並行処理guide-swift-concurrencyswift-concurrency
アプリ内課金—storekit
マップ—mapkit
ヘルスデータ—healthkit
通知—usernotifications
App Intents / Siriapp-intents-specialist, app-intents-whats-new-27 (Apple, Xcode 27)—
ウィジェット—widgetkit
App Store のメタデータapple-aso—
ドキュメントの検索apple-docs-index—

正確性チェックリスト

これらは厳守すべきルールです。違反は常に不具合です。

  • @State プロパティは private にする
  • @Binding は、子ビューが親の状態を変更する必要がある場合にのみ使用する
  • 渡された値を @State として宣言しない。更新がサイレントに無視される
  • @Observable クラスには @State を使用し、@StateObject や ObservableObject は使用しない
  • バインディングが必要な、注入された Observable には @Bindable を使用する
  • ForEach には安定した識別子を使用する。動的コンテンツで .indices を使用しない
  • 各 ForEach 要素が生成するビューの数は一定にする
  • .animation(_:value:) には必ず value: パラメーターを含める
  • @FocusState プロパティは private にする
  • @Observable クラスには @MainActor を指定する。Swift 6 の厳格な並行処理では必須
  • @Observable クラス内のプロパティラッパー(@AppStorage、@SceneStorage、@Query)には @ObservationIgnored を付ける。マクロと競合し、コンパイラーエラーが発生する
  • body にビジネスロジックを記述しない。.task、.onChange、またはメソッドを使用する
  • 本当に避けられない場合を除き、AnyView を使用しない。より適切な構成で解決する

関連スキル

システム API リファレンス:

  • /ios-liquid-glass — Liquid Glass API リファレンス

ワークフローガイド:

  • /swiftui-specialist — Apple の SwiftUI ベストプラクティス(Xcode 27):構成、データフロー、環境、ForEach の識別性、ローカライズ、緩やかな非推奨化
  • /swiftui-whats-new-27 — iOS 27 の SwiftUI の変更点(@State マクロ、@ContentBuilder、並べ替え可能、ツールバーのオーバーフロー)
  • /guide-swiftui-charts — マーク、軸、選択、スタイル設定、アクセシビリティ
  • /guide-swiftui-performance-audit — パフォーマンスの問題を診断して修正する
  • /guide-swift-testing — Swift Testing のパターン、非同期テスト、よくあるエージェントのミス
  • /guide-swift-concurrency — 並行処理のパターン、アクター、診断、バグのパターン
  • /guide-swiftdata — SwiftData のパターン、述語、CloudKit の制約
  • /guide-macos-spm-packaging — SwiftPM で macOS アプリをビルドする

ユーティリティ:

  • /apple-docs-index — 適切な Apple ドキュメントを探す
  • /apple-aso — App Store 最適化

コメント