Overview
v1.4 brought Cloud Sync, AI Optimization, GPS tagging — a lot of new features landed at once. More people started using 1Take daily, and that's when Firebase Crashlytics started lighting up.
We're grateful for every crash report. They show us exactly what to fix and where. A new update is coming soon with all of these fixes addressed. Here's what we found.
What We Found
Memory Pressure After Recording
After stopping a recording, the AI analyzer and audio converter were running at the same time. A 5-minute stereo recording at 48 kHz loads roughly 115 MB into memory. Running analysis and conversion simultaneously pushed peak usage past 345 MB — enough for iOS to start killing system framework allocations, causing crashes inside the Network and Metal frameworks.
Fix: Serialized the pipeline — analysis finishes first, then conversion starts. Also optimized the analyzer to reuse a shared mono buffer instead of allocating twice.
AudioPlayer KeyPath Crash
Swift's @Observable macro was auto-generating KeyPath tracking for internal AVAudioEngine properties. When the player accessed these during playback, the Swift runtime crashed inside _swift_getKeyPath.
Fix: Marked all internal audio properties as @ObservationIgnored — they have no UI relevance and should never trigger SwiftUI observation.
Out of Memory on Long Recordings
The spectral noise reducer was loading the entire audio file into memory at once. A 10-minute recording equals roughly 500 MB. iOS terminated the app.
Fix: Rewrote the processor to use chunked streaming — processing 10-second windows at a time. Peak memory dropped from 500 MB to around 20 MB, regardless of recording length.
AVAudioEngine Format Crash
On some devices, AVAudioEngine.connect() throws an Objective-C NSException when audio hardware hasn't finished initializing. Swift's do/catch can't intercept NSException, so the crash was uncatchable at the Swift layer.
Fix: Added a pre-flight format validation guard, plus a purpose-built Objective-C exception catcher wrapper to intercept the exception before it propagates.
What's Next
All of these fixes are in v1.4.2, which is being submitted to App Store review now. If you've experienced any of these crashes, the update should resolve them.
Keep the crash reports coming — they make 1Take better for everyone.