Skip to Content
v0.8.0 · shippedNative mobile SDKs, optional Sentry enrichment, and bring-your-own keys/storage. Read the changelog →
SDK referenceMushiMushi (iOS)

MushiMushi (iOS / macOS / tvOS)

Native Swift SDK. SwiftPM-first, CocoaPods supported.

// Swift Package Manager — Package.swift .package(url: "https://github.com/kensaurus/mushi-mushi-ios.git", from: "0.8.0")
# CocoaPods — Podfile pod 'MushiMushi', '~> 0.8'

See Quickstart → iOS for the full setup walkthrough.

API surface

MethodPurpose
Mushi.shared.configure(projectId:apiKey:...)Boot the SDK — call in AppDelegate.application(_:didFinishLaunchingWithOptions:) or @main App.init()
Mushi.shared.identify(userId:traits:)Link reports to a user
Mushi.shared.submitReport(description:severity:)Programmatic report submission
Mushi.shared.showReportSheet()Show the capture UI imperatively
MushiReportButtonSwiftUI View that triggers the report sheet on tap or shake

Setup

// AppDelegate.swift import MushiMushi func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { Mushi.shared.configure( projectId: "YOUR_PROJECT_ID", apiKey: "YOUR_PUBLIC_API_KEY", enableShakeToReport: true ) return true }

Identifying users

// After sign-in Mushi.shared.identify( userId: user.id, traits: ["email": user.email, "name": user.displayName ?? ""] )

Offline queue

Reports are persisted to an SQLite database via FMDB. The queue survives app crashes and relaunches. Flush happens automatically when connectivity resumes.

Screenshot capture

Uses UIGraphicsImageRenderer — no third-party code required. Sensitive views can be excluded with the MushiExcludeFromCapture modifier (SwiftUI) or by setting accessibilityElementsHidden = true before capture.

Sentry bridge

Mushi.shared.attachSentryBridge(options: SentrySDK.currentHub()?.getClient()?.options)

Forwards each Mushi report as a Sentry breadcrumb and tags the active scope with report_id so a single Sentry issue links back to the Mushi report.

Last updated on