App Store Connect Reference
Overview
App Store Connect (ASC) provides crash reports, TestFlight feedback, and performance metrics for your apps. This reference covers how to navigate ASC to find and export crash data for analysis.
ASC vs Xcode Organizer
Task Best Tool
Quick crash triage during development Xcode Organizer
Team-wide crash visibility App Store Connect
TestFlight feedback with screenshots App Store Connect
Historical metrics and trends App Store Connect
Downloading crash logs for analysis Either (ASC has better export)
Symbolication Xcode Organizer
Navigating to Crash Data
Path to Crashes
App Store Connect └── My Apps └── [Your App] └── Analytics └── Crashes
Direct URL pattern: https://appstoreconnect.apple.com/analytics/app/[APP_ID]/crashes
Crashes Dashboard Sections
-
Filters bar — Platform, Version, Date Range, Compare
-
Crash-Free Users graph — Daily percentage trend line
-
Crash Count by Version — Bar chart comparing versions
-
Top Crash Signatures — Ranked by share percentage, shows exception type and function name
Key Metrics Explained
Metric What It Means
Crash-Free Users Percentage of daily active users who didn't experience a crash
Crash Count Total number of crash reports received
Crash Rate Crashes per 1,000 sessions
Affected Devices Number of unique devices that crashed
Crash Signature Grouped crashes with same stack trace
Filtering Options
Filter Use Case
Platform iOS, iPadOS, macOS, watchOS, tvOS
Version Drill into specific app versions
Date Range Last 7/30/90 days or custom range
Compare Compare crash rates between versions
Device Filter by iPhone model, iPad, etc.
OS Version Find OS-specific crashes
Viewing Individual Crash Reports
Crash Signature Detail
Each crash signature shows:
-
Header — Exception type and affected device/crash share counts, first seen date
-
Exception Information — Type (e.g., EXC_BAD_ACCESS), codes, address
-
Crashed Thread — Stack frames with binary, function, and offset
-
Distribution — Breakdown by iOS version and device model
Downloading Crash Logs
-
Click on a crash signature
-
Look for Download Logs button (top right)
-
Select format:
-
.ips (JSON format, iOS 15+)
-
.crash (text format, legacy)
-
Use crash-analyzer agent to parse: /axiom:analyze-crash
TestFlight Feedback
Path to Feedback
App Store Connect └── My Apps └── [Your App] └── TestFlight └── Feedback
Feedback Entry Contents
Each feedback submission includes:
Field Description
Screenshot What the tester saw (often most valuable)
Comment Tester's description of the issue
App Version Exact TestFlight build number
Device Model iPhone 15 Pro Max, iPad Air, etc.
OS Version iOS 17.2.1, etc.
Battery Level Low battery can affect behavior
Available Disk Low disk can cause write failures
Network Type WiFi vs Cellular
Locale Language and region settings
Timestamp When submitted
Feedback Filtering
Filter Use Case
Build Focus on specific TestFlight builds
Date Recent feedback first
Has Screenshot Find visual issues quickly
Limitation: No Reply
TestFlight feedback is one-way. You cannot respond to testers through ASC. For follow-up:
-
Contact through TestFlight group email
-
Add in-app feedback mechanism
-
Include your email in TestFlight notes
Metrics Dashboard
Path to Metrics
App Store Connect └── My Apps └── [Your App] └── Analytics └── Metrics
Available Metrics Categories
Category What It Shows
Crashes Crash-free users, crash count, top signatures
Hang Rate Main thread hangs > 250ms
Disk Writes Excessive disk I/O patterns
Launch Time App startup performance
Memory Peak memory usage, terminations
Battery Energy usage during foreground/background
Scrolling Scroll hitch rate
Terminations (Non-Crash Kills)
The Metrics dashboard shows terminations that don't produce crash reports:
Termination Type Cause
Memory Limit Jetsam killed app for memory pressure
CPU Limit (Background) Exceeded background CPU quota
Launch Timeout App took too long to launch
Background Task Timeout Background task exceeded time limit
Comparing Versions
Use the Compare filter to see:
-
Did crash rate improve or regress?
-
Which version introduced a spike?
-
Performance trends over releases
Exporting Data
Manual Export
-
Navigate to Crashes or Metrics
-
Use date range filter to select period
-
Click Export (if available) or download individual crash logs
App Store Connect API
For automated export, use the App Store Connect API:
Get crash diagnostic insights
GET /v1/apps/{id}/perfPowerMetrics
Authentication requires API key from ASC
Users and Access → Keys → App Store Connect API
API capabilities:
Endpoint Data
perfPowerMetrics
Performance and power metrics
diagnosticSignatures
Crash signature aggregates
diagnosticLogs
Individual crash logs
betaTesters
TestFlight tester info
betaFeedback
TestFlight feedback entries
MCP-Powered Access
If asc-mcp is configured, you can access ASC data programmatically from Claude Code:
Manual ASC Action asc-mcp Tool
View crash metrics metrics_app_perf , metrics_build_diagnostics
Download crash logs metrics_get_diagnostic_logs
List TestFlight testers builds_get_beta_testers
View app reviews reviews_list , reviews_stats
Respond to reviews reviews_create_response
Check build status builds_get_processing_state
Export sales data analytics_sales_report (requires vendor_number)
Setup and workflows: /skill axiom-asc-mcp
Xcode Cloud Integration
If using Xcode Cloud, crash data integrates with CI/CD:
-
View crashes per workflow run
-
Compare crash rates between branches
-
Automated alerts on crash spikes
Best Practices
Daily Monitoring
-
Check crash-free users percentage
-
Review any new crash signatures
-
Monitor for version-to-version regressions
Crash Triage Priority
Priority Criteria
P0 - Critical
1% of users affected, data loss risk
P1 - High
0.5% affected, user-facing impact
P2 - Medium <0.5% affected, workaround exists
P3 - Low Rare, edge case, no impact
Correlating with Releases
After each release:
-
Wait 24-48 hours for crash data to populate
-
Compare crash-free rate to previous version
-
Investigate any new top crash signatures
-
Check TestFlight feedback for user reports
Common Questions
Why don't I see crashes in ASC?
Cause Fix
Too recent Wait 24 hours for processing
No users yet Need active installs to report
User opted out Requires device analytics sharing
Build not distributed Must be TestFlight or App Store
Why are crashes unsymbolicated?
ASC crashes should auto-symbolicate if you uploaded dSYMs during distribution. dSYM files contain the debug symbols that map memory addresses back to function names and line numbers.
Verify dSYMs were uploaded:
-
Xcode → Window → Organizer → Archives → select build
-
Right-click → "Show in Finder" → right-click .xcarchive → "Show Package Contents"
-
Check dSYMs/ folder contains .dSYM bundles
Manual symbolication workflow:
1. Download .ips file from ASC (Crashes → signature → Download Logs)
2. Find the binary UUID from the crash report
grep --after-context=2 "Binary Images" crash.ips
Look for: 0x100000000 - 0x100ffffff MyApp arm64 <UUID>
3. Locate matching dSYM on your machine
mdfind "com_apple_xcode_dsym_uuids == <UUID>"
4. Symbolicate an address
atos -arch arm64 -o MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
-l 0x100000000 0x100045abc
Output: -[UserManager currentUser] (UserManager.m:42)
Common symbolication failures:
Symptom Cause Fix
All addresses unsymbolicated dSYMs not uploaded Re-upload from Xcode Organizer
Only your code unsymbolicated dSYM UUID mismatch Rebuild from same commit
System frameworks unsymbolicated Normal for device-specific Use atos with device support files
Bitcode builds unsymbolicated Apple recompiled binary Download dSYMs from ASC: Xcode → Organizer → Download Debug Symbols
See crash-analyzer agent for automated parsing: /axiom:analyze-crash
ASC vs Organizer: Which stack trace is better?
Both show the same data, but:
-
Organizer integrates with Xcode projects (click to jump to code)
-
ASC better for team-wide visibility and historical trends
Field Diagnostics with MetricKit
For device-level crash diagnostics, hang call stacks, and custom telemetry beyond ASC's aggregated dashboards, see axiom-metrickit-ref .
Key difference: ASC shows aggregated trends for team visibility. MetricKit provides per-device diagnostics you can correlate with your own telemetry.
Related
Skills: axiom-testflight-triage (Xcode Organizer workflows), axiom-asc-mcp (programmatic ASC access via MCP)
Agents: crash-analyzer (automated crash log parsing)
Commands: /axiom:analyze-crash
Resources
WWDC: 2020-10076, 2020-10078, 2021-10203, 2021-10258
Docs: /app-store-connect/api, /xcode/diagnosing-issues-using-crash-reports-and-device-logs