You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Document release build packaging requirements in CLAUDE.md
Always use packaging scripts instead of manually assembling app bundles.
Incomplete bundles cause silent crashes on video drop in release mode.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CLAUDE.md
+24-3Lines changed: 24 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -273,7 +273,9 @@ The Flutter app searches for the worker in these locations:
273
273
-`worker/target/release/` (release build)
274
274
-`worker/target/debug/` (debug build)
275
275
276
-
### Production Packaging
276
+
### Production Packaging / Testing a Release Build
277
+
278
+
**IMPORTANT**: Never manually assemble a release build by copying the worker binary into the .app bundle. The app bundle requires a specific structure with templates, licenses, and correct binary placement. Always use the packaging scripts — the app will silently crash on video drop if the bundle is incomplete.
277
279
278
280
For release builds:
279
281
@@ -283,9 +285,27 @@ For release builds:
283
285
cargo build --release
284
286
```
285
287
286
-
2.**Package with deps bundled** (Windows) or deps downloaded to Application Support (macOS)
288
+
2.**Build Flutter app** (may require manual xcodebuild on macOS — see Build Commands above)
289
+
290
+
3.**Package using the script** (this copies worker, templates, licenses, and signs the bundle):
291
+
```bash
292
+
# macOS
293
+
./Scripts/package-macos.sh --version X.Y.Z --skip-build # if already built
294
+
./Scripts/package-macos.sh --version X.Y.Z # full build + package
- Then build Runner for arm64 only: `xcodebuild -workspace Runner.xcworkspace -scheme Runner -configuration Release build ARCHS=arm64 ONLY_ACTIVE_ARCH=YES`
797
817
- The Podfile is configured for arm64 only (`ENV['ARCHS'] = 'arm64'`), so multi-arch builds will fail
798
818
13.**macOS CocoaPods warnings about base configuration**: These warnings can be ignored - the build will work despite them. The xcconfig includes are handled by Flutter.
819
+
14.**App crashes silently on video drop (release build)**: The app bundle is likely incomplete. Never manually copy just the worker binary — always use `Scripts/package-macos.sh` or `Scripts/package-windows.ps1` to create a proper bundle with templates, licenses, and correct structure. Release mode swallows exceptions silently, so run from the terminal (`dist/VapourBox.app/Contents/MacOS/vapourbox`) to see any output.
0 commit comments