Apple SDK

iOS crash reporting that explains itself in Swift

One AllStak.start call at launch turns on crash, app-hang, and session tracking — with handled-error capture, auto-instrumented URLSession requests, and dSYM upload for symbolicated stack traces, on the same platform as your backend.

Why iOS apps need real crash reporting

An iOS crash gives you nothing for free: the app disappears, the user sees their home screen, and the raw crash report — if you ever obtain one — is a wall of unsymbolicated memory addresses. App hangs are worse: the app technically didn't crash, the user force-quits anyway, and no report is generated at all. Waiting for App Store reviews to surface these is how a bad release runs for a week.

AllStak's Apple SDK fixes this with one call. AllStak.start at launch turns on crash, app-hang, and session tracking by default; handled errors and leveled messages report via AllStak.capture; outbound URLSession requests are auto-instrumented with redacted HTTP breadcrumbs and W3C trace headers; and the dSYM upload script turns memory addresses into file, line, and function. Every crash lands on the same platform as your backend errors, logs, traces, and uptime — one dashboard, in English or Arabic.

Full iOS monitoring

From a crash on a specific device to the app hang nobody reported and the API call behind it, AllStak covers your iOS app across every layer.

Crash reporting

Crash tracking is on by default after AllStak.start — one call at launch and production crashes start arriving in your dashboard.

App-hang detection

App-hang tracking is on by default too — so the freezes that make users force-quit show up in your dashboard even though no crash report was ever written.

Session tracking

Session tracking is enabled from the same start() call — so crashes are measured against real usage, release by release.

Handled errors & messages

Capture caught errors with AllStak.capture(error) and leveled messages with AllStak.capture(message:level:) — expected failures get tracked, not just crashes.

URLSession auto-instrumentation

Outbound URLSession requests are auto-instrumented by default — redacted HTTP breadcrumbs plus W3C traceparent and baggage headers that connect the app to your backend traces.

Symbolicated stack traces

Upload dSYMs with the bundled script (Scripts/allstak-upload-dsyms.sh) and crash addresses resolve to your original Swift code — file, line, and function.

Add AllStak in minutes

Add the package via Swift Package Manager or CocoaPods and start AllStak once, early at launch — crash, app-hang, and session tracking are on by default from there.

AppDelegate.swift
// Swift Package Manager
.package(url: "https://github.com/AllStak/allstak-apple.git", from: "0.2.0")

// CocoaPods
pod 'AllStak', '~> 0.2'

import AllStak

AllStak.start(
    apiKey: "astk_live_xxxxxxxx",
    environment: "production",
    release: "1.4.2"
)

Call AllStak.start once at launch and set environment and release — then upload dSYMs (Scripts/allstak-upload-dsyms.sh) so crashes arrive symbolicated. full setup guide · SDK reference.

What you see in AllStak

Symbolicated crash detail

Open any crash to a readable Swift stack trace (via uploaded dSYMs), the environment, and the release it shipped in — instead of a wall of memory addresses.

App hangs nobody reported

The freezes that end in a force-quit — invisible to classic crash reporting — appear alongside your crashes, so you can fix what reviews only hint at.

HTTP breadcrumbs with trace headers

Auto-instrumented URLSession requests carry W3C traceparent and baggage headers — so a slow checkout on the phone connects to the backend trace that caused it.

Unified real-time dashboard

iOS crashes next to the backend errors, logs, and uptime of the APIs behind them — one dashboard, in English or Arabic, for the whole team.

Why teams pick AllStak for iOS

  • Mobile and backend on one platform — crashes, errors, logs, traces, and uptime with one bill.
  • One AllStak.start call — crash, app-hang, and session tracking on by default from there.
  • Not tied to Firebase — crash reporting without adopting a whole second vendor ecosystem.
  • URLSession requests auto-instrumented with redacted breadcrumbs and W3C trace headers.
  • Predictable SAR pricing with a genuine free tier — start without a credit card.
  • Data stays in Saudi Arabia, with an English and Arabic dashboard for the whole team.

iOS crash reporting FAQ

How do I add crash reporting to an iOS app?

Add the AllStak Apple SDK via Swift Package Manager or CocoaPods, then call AllStak.start once, early at launch, with your API key, environment, and release. Crash, app-hang, and session tracking are on by default after start() — the setup guide covers handled errors and dSYM upload from there.

How do I get readable Swift stack traces?

Upload your dSYMs with the bundled script, Scripts/allstak-upload-dsyms.sh. Once uploaded, crash memory addresses resolve to your original code — file, line, and function — so a production crash reads like a local one.

Is AllStak an alternative to Firebase Crashlytics for iOS?

Yes. You get crash reporting and Swift error tracking without tying your app to Firebase — and unlike Crashlytics, the same platform also monitors your backend errors, logs, traces, and uptime. Add a bilingual English/Arabic dashboard, SAR pricing, and data stored in Saudi Arabia, and the whole stack lives in one place.

Does the SDK support macOS and tvOS too?

Yes. The AllStak Apple SDK captures crashes, errors, and performance from iOS, macOS, and tvOS apps — the same AllStak.start setup applies across Apple platforms.

Is AllStak free for iOS?

Yes. AllStak has a free tier you can start on without a credit card, and predictable SAR pricing as you grow. The Apple SDK itself is free to use.

Start tracking iOS crashes today

Start the SDK, upload your dSYMs, and watch crashes, app hangs, and sessions arrive in one dashboard. Start free — no credit card required.