Ios 14.4 ipad black screen

ipads upgraded to isos 14.4. getting black background screen around video. the only way to get back to the actual screen is when you hit the volume key or if a email notification pops up.
Not a problem in 14.3.

Anyone have a similar issue? any possible work around?

Thanks

we are currently using version 5.4.4

We are facing a similar issue: when attaching an OpenGL context to a component, after a few seconds everything else disappears, leaving visible only the OpenGL enabled component.

The problem affects devices with iPadOS 14.4 and any version of JUCE (tested with 5.4.5 and latest commit on development ( dbecf2472 ).

Resolved with Xcode upgrade to 12.4.

This appears to be an Apple bug in iPadOS 14.4 - I was able to reproduce the problem in a pure Obj-C app with no JUCE code.

If you disable the app’s status bar by overriding your ViewController’s prefersStatusBarHidden property to YES, then add a subview to the root view which contains an AVPlayer, then the root view will disappear (but strangely only when the native transport controls of the player fade out).

ViewController.h:

#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>

@interface ViewController : UIViewController
{
    AVPlayerViewController* playerViewController;
}

@end

ViewController.m:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (BOOL) prefersStatusBarHidden
{
    return YES;
}

- (void) viewDidLoad
{
    [super viewDidLoad];
    
    CGRect r = CGRectMake (0, 0, 500, 500);
    
    UIView* v = [[UIView alloc] initWithFrame: r];
    [v setBackgroundColor: [UIColor redColor]];
    
    playerViewController = [AVPlayerViewController new];
    NSURL* videoURL = [NSURL URLWithString: @"https://www.rmp-streaming.com/media/bbb-360p.mp4"];
    AVPlayer* player = [AVPlayer playerWithURL: videoURL];
    playerViewController.player = player;
    [player play];
    [v addSubview: [playerViewController view]];
    [[playerViewController view] setFrame: CGRectMake (200, 200, 200, 200)];
    
    [self setView: v];
}

@end

I’ve submitted a bug report to Apple, but in the meantime you can work around this by enabling the status bar in your app by setting UIStatusBarHidden to NO in the app’s .plist.

3 Likes

I’m facing the same bug, but only if I have only one OpenGL context active! As soon as I add a second one, the bug disappears…
Hence it seems the problem isn’t tied to the status bar itself as you described in your workaround @ed95, but rather to a dead state when there’s only one render thread.

@pchanley You said upgrading XCode has fixed the problem on your side while it has no effect on mine. Can you tell me which XCode build mode you’re using please (Legacy/Current) ? What about you @ed95?

1 Like

Apple responded to my bug report indicating that the issue may have been fixed in some changes that made their way into iOS 15.0 and I can confirm after testing on a physical iPad with the iOS 15.0 beta installed that the problem is resolved.

3 Likes