Landscape safe area is incorrect when presenting SKStoreProductViewController

Hi. If the app is in landscape only and when the SKStoreProductViewController is presented, the safeArea changes to what looks like a portrait mode safe area. When the SKStoreProductViewController is dismissed, the safeArea does NOT revert back to the original values.

Is there a way to force the safeArea to "reset"? I've submitted some bug tickets through Apple Feedback but I haven't received any response about it.

The below code will pop up the SKStoreProductViewController and if you have a UIView that is constrained to the safe area, then you can visibly notice that the safe area is changed and doesn't go back.

I have tested this on iPhone 14 Pro, iPhone 15, and iPhone 16 Pro and in the Simulators. The incorrect behavior happens on those and probably more.

Thanks.

#import "ViewController.h"
#import <StoreKit/StoreKit.h>

@interface ViewController ()

@property (nonatomic, strong) SKStoreProductViewController *productViewController;

@end

@implementation ViewController

- (IBAction)buttonTapped:(id)sender {
    self.productViewController = [[SKStoreProductViewController alloc] init];
    NSDictionary *parameters = @{
        @"id" : @"6443575749"
    };
    [self.productViewController loadProductWithParameters:parameters completionBlock:^(BOOL result, NSError * _Nullable error) {
        [self presentViewController:self.productViewController animated:YES completion:^{
            // presented
            // The panel that is constraint to the safe area visibly shows that the safe area is no longer correct.
        }];
    }];
}

@end
Landscape safe area is incorrect when presenting SKStoreProductViewController
 
 
Q