Fuse version 0.23.0 (build 7041) OS X El Capitan Version 10.11.6
Running the “Video Login Screen Fuse Example” in Background audio mode causes App to crash.
Steps
- Download example project - Download and extract Zip from: https://github.com/yupferris/fuse-example-video-login-screen/tree/master
- Download video with sound - Download and extract Zip of Graham Uhelski’s “The Valley” (you need a video with audio - the original video appears to be silent) from: http://mazwai.com/#/videos/220 2a. Copy the video (thevalleygrahamuheslkimp4.mp4) into the assets folder
- Edit MainView.ux 3a. On Line 31 - Change “nature.mp4” to “thevalleygrahamuheslkimp4.mp4” 3b. Save
- Preview on iOS - (I’m using Atom, so I right-click on the code and choose: “Fuse preview - iOS”)
- Turn on Background Audio - In Xcode (using 7.3.1), go to the “Capabilities” tab, turn on “Background Modes” and check: “Audio, Airplay and Picture in Picture” (next to “Modes:”)
- Run on iPhone - In Xcode, ensure your iPhone is plugged in and the active scheme is set to run on your iPhone and click the run button.
- Wait for sound - once the app is running, wait until you can hear sound from your iPhone.
- Press the iPhone’s On/Off button. 8a. You should continue to hear the videos music coming from your iPhone. If not, go back to step 5.
- Count to 3
- Press the iPhone’s Home Button
- Crashes - the app crashes with “Thread 1: EXC_BAD_ACCESS (code=1, address=0x1)” in Fuse.Controls.Native.iOS.GraphicsView.mm
void GraphicsView::EndDraw(uObject* handle)
{
uStackFrame __("Fuse.Controls.Native.iOS.GraphicsView", "EndDraw(ObjC.Object)");
@autoreleasepool
{
[] (::id handle) -> void
{
::GLKView* glkView = (::GLKView*)handle;
[glkView display]; // <-- Thread 1: EXC_BAD_ACCESS (code=1, address=0x1)
} (::g::ObjC::Helpers::GetHandle(handle));
}
}