Repository navigation
Readpaw 0.1.1
Hotfix for 0.1.0.
What was broken in 0.1.0
A packaged Readpaw.app from the DMG would launch and immediately SIGTRAP (EXC_BREAKPOINT) before any window appeared. Two compounding causes:
- The SwiftPM-synthesized
Bundle.moduleinitializer callsfatalErrorwhen its resource bundle isn't on disk where it expects. Depending on quarantine state, this could trap the process on first reference. NSApplication.shared.setActivationPolicy(.regular)was being called from insideApp.init, which races with SwiftUI's own application-startup wiring when launched as a .app bundle.
Fix
USDZViewno longer touchesBundle.module. It looks for the bundled USDZ viaBundle.maindirectly (Contents/Resources/Color_orb.usdz), with a fallback to the SPM bundle path, and gracefully returns nil if nothing's found — so the onboarding screen will render without the 3D model instead of crashing the app.build-app.shnow also copies resources flat into the .app'sContents/Resources/, soBundle.mainfinds everything without the SPM bundle.setActivationPolicy(.regular)is now only called when launched as a plain executable (e.g.swift run) — guarded byBundle.main.bundleIdentifier == nil. A .app launch uses the activation policy NSApplicationMain already set fromInfo.plist.
Verified by reproducing the user-install flow: dragging the .app out of the DMG, applying com.apple.quarantine recursively to every file inside, then open-ing the app. It now launches cleanly.
Install
Same flow as 0.1.0:
xattr -dr com.apple.quarantine ~/Downloads/Readpaw-0.1.1.dmgThen double-click the DMG, drag Readpaw to Applications, and:
xattr -dr com.apple.quarantine /Applications/Readpaw.app…before launching from Spotlight / Dock. The DMG is ad-hoc signed but not Apple-notarised, so the xattr step is required to convince Gatekeeper to let it run.
Full install / Gatekeeper guidance is on the v0.1.0 release page and in the README.
System requirements
- macOS 15.0 (Sequoia) or later
- Apple Silicon (arm64)