Tweak iOS simulator settings via xcrun simctl. Use when granting app permissions, changing UI appearance, simulating location, or overriding status bar. Triggers on "simulator settings", "grant permission", "privacy", "dark mode", "light mode", "location", "status bar", "simctl".
From dev-skillsnpx claudepluginhub igor1309/skills --plugin dev-skillsThis skill is limited to using the following tools:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Delivers DB-free sandbox API regression tests for Next.js/Vitest to catch AI blind spots in self-reviewed code changes like API routes and backend logic.
Announce: "I'm using the simulator-settings skill to configure simulator settings."
Read from .claude/AGENTS.md:
<bundle-id><simulator-id>
Substitute placeholders below with values from .claude/AGENTS.md.Grant, revoke, or reset app permissions.
xcrun simctl privacy <simulator-id> <action> <service> <bundle-id>
| Action | Description |
|---|---|
grant | Grant access without prompting |
revoke | Revoke access, deny all use |
reset | Reset access, prompt on next use |
| Service | Description |
|---|---|
all | All services |
calendar | Calendar access |
contacts | Full contact details |
contacts-limited | Basic contact info |
location | Location when app in use |
location-always | Location at all times |
photos | Full photo library access |
photos-add | Add photos only |
media-library | Media library access |
microphone | Audio input |
motion | Motion and fitness data |
reminders | Reminders access |
siri | Siri integration |
# Grant location access
xcrun simctl privacy <simulator-id> grant location <bundle-id>
# Grant all permissions
xcrun simctl privacy <simulator-id> grant all <bundle-id>
# Reset all permissions
xcrun simctl privacy <simulator-id> reset all <bundle-id>
xcrun simctl ui <simulator-id> <option> [value]
| Option | Values |
|---|---|
appearance | light, dark |
increase_contrast | enabled, disabled |
content_size | extra-small, small, medium, large, extra-large, extra-extra-large, extra-extra-extra-large, accessibility-medium, accessibility-large, accessibility-extra-large, accessibility-extra-extra-large, accessibility-extra-extra-extra-large |
# Set dark mode
xcrun simctl ui <simulator-id> appearance dark
# Set light mode
xcrun simctl ui <simulator-id> appearance light
# Increase text size
xcrun simctl ui <simulator-id> content_size extra-large
xcrun simctl location <simulator-id> <action> [arguments]
| Action | Description |
|---|---|
set <lat>,<lon> | Set fixed location |
clear | Stop simulation, clear location |
list | List available scenarios |
run <scenario> | Run predefined scenario |
# Set Moscow location
xcrun simctl location <simulator-id> set 55.7558,37.6173
# Clear simulated location
xcrun simctl location <simulator-id> clear
xcrun simctl status_bar <simulator-id> override [flags]
| Flag | Values |
|---|---|
--time | Time string (e.g., "9:41") |
--dataNetwork | hide, wifi, 3g, 4g, lte, lte-a, lte+, 5g, 5g+, 5g-uwb, 5g-uc |
--wifiMode | searching, failed, active |
--wifiBars | 0-3 |
--cellularMode | notSupported, searching, failed, active |
--cellularBars | 0-4 |
--operatorName | Carrier name string |
--batteryState | charging, charged, discharging |
--batteryLevel | 0-100 |
# Screenshot-ready status bar
xcrun simctl status_bar <simulator-id> override \
--time "9:41" \
--batteryLevel 100 \
--batteryState charged \
--wifiBars 3 \
--cellularBars 4
# Clear overrides
xcrun simctl status_bar <simulator-id> clear
# Boot simulator
xcrun simctl boot <simulator-id>
# Shutdown simulator
xcrun simctl shutdown <simulator-id>
# Open URL in simulator
xcrun simctl openurl <simulator-id> "vortex://some/deeplink"
# Launch app
xcrun simctl launch <simulator-id> <bundle-id>
# Terminate app
xcrun simctl terminate <simulator-id> <bundle-id>