safe-area-compliance

Detects unsafe safe-area overrides and hardcoded inset values in iOS Swift and Objective-C code.

Updated Aug 14, 2026
One-click install
npx skills add https://github.com/tvh25082004/Badminton --skill safe-area-compliance-tvh25082004
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: safe-area-compliance
Source: https://github.com/tvh25082004/Badminton/tree/main/.claude/skills/apple-app-review/layout/safe-area-compliance
Command: npx skills add https://github.com/tvh25082004/Badminton --skill safe-area-compliance-tvh25082004

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? iOS apps get rejected from the App Store when content is hidden behind the Dynamic Island, notch, or home indicator because developers used hardcoded inset values or suppressed safe-area insets. This Skill scans your codebase to find these violations before Apple review does. ## Core Features & Use Cases - Pattern Detection: Greps Swift and Objective-C sources for edgesIgnoringSafeArea(.all), bare ignoresSafeArea(), UIEdgeInsets.zero, and hardcoded constants like top: 44 or bottom: 34. - Prioritized Findings: Outputs a tiered findings list (CRITICAL/HIGH/MEDIUM/LOW) with file paths, line numbers, and actionable fixes mapped to Apple's HIG Adaptivity guidance. - Use Case: Before submitting an iPhone app update, run the audit to catch a tab bar positioned at a hardcoded Y offset that would be obscured by the home indicator on Face ID devices. ## Quick Start Ask the assistant to run the safe-area-compliance audit on your iOS project root and report any hardcoded insets or safe-area overrides.

Frequently Asked Questions about safe-area-compliance

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

FAQPage Schema
How do I check my iOS app for safe area violations before App Store submission?▼

Run this audit on your project root to grep Swift and Objective-C files for patterns like edgesIgnoringSafeArea(.all), bare ignoresSafeArea() calls, and hardcoded insets such as top: 44 or bottom: 34. Findings are reported with file paths, line numbers, and severity tiers.

What causes App Store rejections related to the Dynamic Island or notch?▼

Rejections typically come from suppressing all safe-area insets or hardcoding device-specific values like status-bar height 44. Content then renders behind the Dynamic Island or home indicator, violating Apple's HIG Adaptivity and Layout guidance.

Does this safe area check work with Objective-C and storyboard projects?▼

Yes, it scans .m files alongside .swift files and notes .storyboard and .xib files for manual safe-area review. It also supports React Native and Flutter projects targeting iOS.

Why is hardcoding top: 44 or bottom: 34 a problem in iOS layout?▼

These magic numbers match specific device safe-area heights and break on other hardware. Devices with a Dynamic Island, notch, or no notch all have different inset values, so use view.safeAreaInsets or safeAreaLayoutGuide anchors instead.

Does the safe area audit modify my source code?▼

No, the audit is strictly read-only and makes no file edits or network calls. It only reports findings with suggested fixes such as replacing hardcoded insets with safeAreaLayoutGuide anchors.