safe-area-compliance

Scan iOS SwiftUI and UIKit files for unsafe safe-area overrides and hardcoded insets.

13|1|Updated Mar 29, 2026
One-click install
npx skills add https://github.com/cruisediary/apple-app-review-skills --skill safe-area-compliance
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: safe-area-compliance
Source: https://github.com/cruisediary/apple-app-review-skills/tree/main/skills/layout/safe-area-compliance
Command: npx skills add https://github.com/cruisediary/apple-app-review-skills --skill safe-area-compliance

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Detects unsafe safe-area overrides and hardcoded inset values that hide content behind the Dynamic Island, notch, or home indicator, violating Apple's Human Interface Guidelines for adaptive layout.

Core Features & Use Cases

  • Identify occurrences of .edgesIgnoringSafeArea(.all) in SwiftUI and equivalent safe-area suppression patterns in UIKit.
  • Flag hardcoded insets like top: 44 or bottom: 34 that break on devices with Dynamic Island, notch, or home indicator.
  • Generate remediation guidance to adopt safe-area aware layouts, use safeAreaInsets, and adaptive constraints.

Quick Start

Manually scan or run the skill against an iOS project to surface unsafe safe-area patterns and implement responsive safe-area-aware UI.

Frequently Asked Questions about safe-area-compliance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find unsafe safe-area overrides and hardcoded insets in my iOS project?

To find unsafe safe-area overrides, scan SwiftUI and UIKit source files for .edgesIgnoringSafeArea usage, zero insets, and fixed top or bottom constants that hide content behind the notch or home indicator. This generates a prioritized report flagging unsafe layout patterns.

Why does my SwiftUI content get hidden behind the Dynamic Island or notch?

Content gets hidden behind the Dynamic Island or notch when layouts use .edgesIgnoringSafeArea(.all) or hardcoded top insets like 44 points. Scanning for these unsafe safe-area overrides identifies where adaptive constraints and safeAreaInsets should replace fixed values.

How do I scan for hardcoded top and bottom insets that break on devices with a home indicator?

Scan iOS source and interface files for fixed top or bottom constants like 44 or 34 points that break on devices with a home indicator. The scan compiles a prioritized report flagging hardcoded insets and guides remediation with safe-area-aware code patterns and measurements.

Can I check both UIKit and SwiftUI layouts for unsafe safe-area suppression patterns?

Yes, you can check both UIKit and SwiftUI layouts across iPhone and iPad for unsafe safe-area suppression patterns. The scan identifies SwiftUI .edgesIgnoringSafeArea usage and equivalent UIKit hardcoded insets, then provides remediation guidance for adaptive constraints.

What is the best way to fix iOS layouts that ignore safe-area insets?

The best way to fix layouts that ignore safe-area insets is to adopt safe-area-aware layouts, use safeAreaInsets, and apply adaptive constraints. The scan provides code patterns and measurements to guide remediation of flagged unsafe overrides.

When should I not use .edgesIgnoringSafeArea in my SwiftUI views?

You should avoid .edgesIgnoringSafeArea when content must remain visible near the Dynamic Island, notch, or home indicator. Scanning flags these unsafe overrides so you can replace them with safeAreaInsets and adaptive constraints that comply with Apple's Human Interface Guidelines.