Search Issue Tracker
Third Party Issue
Votes
9
Found in
2021.3.45f1
2022.3.51f1
6000.0.27f1
6000.1.0a3
7000.0.0a1
Issue ID
UUM-86963
Regression
No
[iOS] Sometimes the safe area is incorrect when the Player is in the landscape mode
Steps to reproduce:
1. Open the “IN-84374_SafeAreaIssue” project
2. Build And Run the project on the device
3. Press “Push” button
4. In the App Store popup window press the “Done” button
5. Observe the screen
6. Repeat 3-5 steps a few times
Expected result: The safe area is as before the App Store popup window
Actual result: Sometimes the safe area goes over the camera notch
Reproducible with: 2021.3.45f1, 2022.3.51f1, 6000.0.27f1, 6000.1.0a3
Testing environment: macOS Sonoma 14.6.1 (Intel), macOS 14.5 (Intel)
Not reproducible on: No other environment tested
Reproducible with these devices:
VLNQA00605 - iPhone 15 Pro (MTUX3PX/A), CPU: Apple A17 Pro, OS: 17.0.2
VLNQA00357 - iPhone 12 Mini (MGE03ET/A), CPU: Apple A14 Bionic, GPU: Apple designed, OS: 14.1
iPhone 14 Pro (by user)
Notes:
- For some devices (iPhone 12 Mini), the safe area reverts to the expected result after a few seconds
- The issue reproduction is inconsistent and might take more than a few tries
- Could not test with Android (errors in the console)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- "Timeflow Animation System" custom package appears twice in the Package Manager
- Sprite Atlas Override for iOS setting remains disabled when saving its change to enabled
- Increased Memory usage when Update Mode 'On Demand' Realtime lights are used and DX12 API is selected
- Shader warnings in URP ShaderGraph when using the Normal From Texture node
- 'Stack overflow' error logged in the Console when a script that has a lot of classes is compiled
Resolution Note:
Looks to be an Apple bug or Apple designed the SKStoreProductViewController to only "work" in Portrait.
Reproducible with native iOS projects, both storyboard and SwiftUI based.
A work around I can think of is to essentially force re-attach the views.
Something along the lines of:
UIApplication *application = [UIApplication sharedApplication];
UIWindow *window = application.keyWindow;
UIView* view = rootViewController.view;
[view removeFromSuperview];
[window addSubview: view];
This could be placed in the `productViewControllerDidFinish` callback of the plugin, to re-attach the views as soon as it's done, although this might still result in a slight "jerk" (depending how it's done on the other end, like pausing/unpausing unity) as it doesn't look to be instantaneous.