ios-application-dev
UIKit・SnapKit・SwiftUIを網羅したiOSアプリ開発ガイドで、タッチターゲット、セーフエリア、ナビゲーションパターン、Dynamic Type、ダークモード、アクセシビリティ、コレクションビュー、共通UIコンポーネント、SwiftUIデザインガイドラインを含みます。iOSアプリの開発・UI実装・コードレビュー・UIKit/SnapKit/SwiftUIレイアウト・Apple HIG準拠・アクセシビリティ対応など、Swiftによるモバイル開発全般で活用できます。
description の原文を見る
| iOS application development guide covering UIKit, SnapKit, and SwiftUI. Includes touch targets, safe areas, navigation patterns, Dynamic Type, Dark Mode, accessibility, collection views, common UI components, and SwiftUI design guidelines. For detailed references on specific topics, see the reference files. Use when: developing iOS apps, implementing UI, reviewing iOS code, working with UIKit/SnapKit/SwiftUI layouts, building iPhone interfaces, Swift mobile development, Apple HIG compliance, iOS accessibility implementation.
SKILL.md 本文
iOS アプリケーション開発ガイド
UIKit、SnapKit、SwiftUI を使用して iOS アプリケーションを構築するための実践的なガイドです。Apple プラットフォームの実証済みのパターンと規約に焦点を当てています。
クイックリファレンス
UIKit
| 目的 | コンポーネント |
|---|---|
| メインセクション | UITabBarController |
| ドリルダウン | UINavigationController |
| フォーカスされたタスク | Sheet プレゼンテーション |
| 重大な選択 | UIAlertController |
| セカンダリアクション | UIContextMenuInteraction |
| リストコンテンツ | UICollectionView + DiffableDataSource |
| セクション付きリスト | DiffableDataSource + headerMode |
| グリッドレイアウト | UICollectionViewCompositionalLayout |
| 検索 | UISearchController |
| 共有 | UIActivityViewController |
| 位置情報(1回限り) | CLLocationButton |
| フィードバック | UIImpactFeedbackGenerator |
| リニアレイアウト | UIStackView |
| カスタム図形 | CAShapeLayer + UIBezierPath |
| グラデーション | CAGradientLayer |
| モダンボタン | UIButton.Configuration |
| 動的テキスト | UIFontMetrics + preferredFont |
| ダークモード | セマンティックカラー(.systemBackground、.label) |
| 許可 | コンテキスト内リクエスト + AVCaptureDevice |
| ライフサイクル | UIApplication 通知 |
SwiftUI
| 目的 | コンポーネント |
|---|---|
| メインセクション | TabView + tabItem |
| ドリルダウン | NavigationStack + NavigationPath |
| フォーカスされたタスク | .sheet + presentationDetents |
| 重大な選択 | .alert |
| セカンダリアクション | .contextMenu |
| リストコンテンツ | List + .insetGrouped |
| 検索 | .searchable |
| 共有 | ShareLink |
| 位置情報(1回限り) | LocationButton |
| フィードバック | UIImpactFeedbackGenerator |
| 進捗(既知) | ProgressView(value:total:) |
| 進捗(未知) | ProgressView() |
| 動的テキスト | .font(.body) セマンティックスタイル |
| ダークモード | .primary、.secondary、Color(.systemBackground) |
| シーンライフサイクル | @Environment(\.scenePhase) |
| モーション削減 | @Environment(\.accessibilityReduceMotion) |
| ダイナミックタイプ | @Environment(\.dynamicTypeSize) |
コア原則
レイアウト
- タッチターゲット >= 44pt
- セーフエリア内のコンテンツ(SwiftUI はデフォルトで尊重、背景にのみ
.ignoresSafeArea()を使用) - 8pt スペーシング単位を使用(8、16、24、32、40、48)
- プライマリアクションをサムゾーンに配置
- すべての画面サイズに対応(iPhone SE 375pt から Pro Max 430pt)
タイポグラフィ
- UIKit:
preferredFont(forTextStyle:)+adjustsFontForContentSizeCategory = true - SwiftUI: セマンティックテキストスタイル
.headline、.body、.caption - カスタムフォント:
UIFontMetrics/Font.custom(_:size:relativeTo:) - アクセシビリティサイズで レイアウトを適応させる(最小 11pt)
カラー
- セマンティックシステムカラーを使用(
.systemBackground、.label、.primary、.secondary) - カスタムカラー用のアセットカタログバリアント(Any/Dark Appearance)
- 色のみの情報は使用しない(アイコンまたはテキストと組み合わせる)
- コントラスト比 >= 4.5:1(通常テキスト)、3:1(大きいテキスト)
アクセシビリティ
- アイコンボタンのラベル(
.accessibilityLabel()) - モーション削減を尊重(
@Environment(\.accessibilityReduceMotion)) - 論理的な読み取り順序(
.accessibilitySortPriority()) - 太字テキスト、コントラスト増加設定をサポート
ナビゲーション
- タブバー(3~5セクション)はナビゲーション中も表示
- 戻るスワイプが機能する(システムジェスチャーは上書きしない)
- タブ間で状態を保持(
@SceneStorage、@State) - ハンバーガーメニューは使用しない
プライバシー & 許可
- コンテキスト内で許可をリクエスト(起動時ではない)
- システムダイアログの前にカスタム説明を用意
- Apple でサインインをサポート
- ATT 拒否を尊重
チェックリスト
レイアウト
- タッチターゲット >= 44pt
- セーフエリア内のコンテンツ
- プライマリアクションをサムゾーン(下半分)に配置
- すべての画面サイズ(SE から Pro Max)に対応する柔軟な幅
- スペーシングが 8pt グリッドに配置
タイポグラフィ
- セマンティックテキストスタイルまたは UIFontMetrics でスケールされたカスタムフォント
- アクセシビリティサイズまで Dynamic Type をサポート
- 大きいサイズでレイアウトが反映される(切り詰めなし)
- 最小テキストサイズ 11pt
カラー
- セマンティックシステムカラーまたはライト/ダークアセットバリアント
- ダークモードは意図的(単なる反転ではない)
- 色のみの情報なし
- テキストコントラスト >= 4.5:1(通常)/ 3:1(大きい)
- インタラクティブ要素に単一のアクセントカラーを使用
アクセシビリティ
- すべてのインタラクティブ要素に VoiceOver ラベル
- 論理的な読み取り順序
- 太字テキスト設定を尊重
- モーション削減が装飾的なアニメーションを無効化
- すべてのジェスチャーに代替アクセスパスを用意
ナビゲーション
- 3~5個のトップレベルセクションにタブバーを使用
- ハンバーガー/ドロワーメニューなし
- タブバーはナビゲーション中も表示
- 戻るスワイプが全体で機能
- タブ間で状態を保持
コンポーネント
- 重大な決定のみアラートを使用
- Sheet には閉じるパス(ボタンおよび/またはスワイプ)を用意
- リスト行 >= 44pt の高さ
- 破壊的なボタンは
.destructiveロールを使用
プライバシー
- 許可をコンテキスト内でリクエスト(起動時ではない)
- システム許可ダイアログの前にカスタム説明を用意
- 他のプロバイダーと共に Apple でサインインを提供
- アカウントなしで基本機能を使用可能
- トラッキング時に ATT プロンプトを表示、拒否を尊重
システムインテグレーション
- アプリが中断を適切に処理(電話、バックグラウンド、Siri)
- アプリコンテンツが Spotlight にインデックスされている
- 共有可能なコンテンツに対して共有シートが利用可能
参考資料
| トピック | 参考 |
|---|---|
| タッチターゲット、セーフエリア、CollectionView | Layout System |
| TabBar、NavigationController、Modal | Navigation Patterns |
| StackView、Button、Alert、Search、ContextMenu | UIKit Components |
| CAShapeLayer、CAGradientLayer、Core Animation | Graphics & Animation |
| Dynamic Type、Semantic Colors、VoiceOver | Accessibility |
| 許可、位置情報、共有、ライフサイクル、触覚フィードバック | System Integration |
| Metal シェーダー & GPU | Metal Shader Reference |
| SwiftUI HIG、コンポーネント、パターン、アンチパターン | SwiftUI Design Guidelines |
| オプショナル、プロトコル、async/await、ARC、エラーハンドリング | Swift Coding Standards |
Swift、SwiftUI、UIKit、SF Symbols、Metal、および Apple は Apple Inc. の商標です。SnapKit はそれぞれの所有者の商標です。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- minimax-ai
- リポジトリ
- minimax-ai/skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/minimax-ai/skills / ライセンス: MIT
関連スキル
nano-banana-2
inference.sh CLIを通じてGoogle Gemini 3.1 Flash Image Preview(Nano Banana 2)で画像を生成します。テキストから画像を生成する機能、画像編集、最大14枚の複数画像入力、Google Searchグラウンディング機能に対応しています。トリガーワード:「nano banana 2」「nanobanana 2」「gemini 3.1 flash image」「gemini 3 1 flash image preview」「google image generation」
octocode-slides
洗練されたマルチファイル形式のHTMLプレゼンテーションを生成します。6段階のフロー(概要 → リサーチ → アウトライン → デザイン → 実装 → レビュー)で構成されています。各スライドは独立したHTMLファイルとなり、iframeで読み込まれます。「スライドを作成してほしい」「プレゼンテーションを作ってほしい」「HTMLスライドを生成してほしい」「デックを構築してほしい」といった依頼や、ノート・ドキュメント・コードを洗練されたプレゼンテーションに変換する際に使用できます。
gpt-image2-ppt
OpenAIのgpt-image-2を使用して、視覚的に優れたPPTスライドを生成します。Spatial Glass、Tech Blue、Editorial Monoなど10種類のキュレーション済みスタイルに対応し、ユーザーが提供したPPTXファイルを模倣するテンプレートクローンモードも搭載しています。HTMLビューアと16:9形式のPPTXファイルを出力します。プレゼンテーション、スライド、ピッチデック、投資家向けPPT、雑誌風PPTの作成依頼などで活用してください。
nano-banana
Nano Banana PRO(Gemini 3 Pro Image)およびNano Banana(Gemini 2.5 Flash Image)を使用したAI画像生成機能です。以下の場合に活用できます:(1)テキストプロンプトからの画像生成、(2)既存画像の編集、(3)インフォグラフィックス、ロゴ、商品写真、ステッカーなどのプロフェッショナルなビジュアルアセット制作、(4)複数画像での人物キャラクターの一貫性保持、(5)正確なテキスト描画を含む画像生成、(6)AI生成ビジュアルが必要なあらゆるタスク。「画像を生成」「画像を作成」「写真を作る」「ロゴをデザイン」「インフォグラフィックスを作成」「AI画像」「nano banana」またはその他の画像生成リクエストをトリガーとして機能します。
oiloil-ui-ux-guide
モダンでクリーンなUI/UXガイダンス・レビュースキルです。新機能や既存システム(Webアプリ)に対して、実行可能なUI/UX改善提案、デザイン原則、デザインレビューチェックリストが必要な場合に活用できます。CRAP(コントラスト・反復・配置・近接)をベースに、タスクファーストなUX、情報設計、フィードバック・システムステータス、一貫性、affordances、エラー防止・復旧、認知負荷を重視します。モダンミニマルスタイル(クリーン・余白・タイポグラフィ主導)を強制し、不要なテキストを削減、アイコンとしての絵文字を禁止し、統一されたアイコンセットから直感的で洗練されたアイコンを推奨します。
axiom-hig-ref
Apple Human Interface Guidelines リファレンス — 色(セマンティックカラー、カスタムカラー、パターン)、背景(マテリアル階層、ダイナミック背景)、タイポグラフィ(標準スタイル、カスタムフォント、Dynamic Type)、SF Symbols(レンダリングモード、色、多言語対応)、ダークモード、アクセシビリティ、プラットフォーム固有の考慮事項を網羅したガイドラインです。