iOS 13 方向被强行改变

iOS 13 orientation changed forcefully

我有一个应用程序,它在 iOS 12 及以下版本中运行正常。我的应用程序仅支持纵向模式。现在在 iOS 13 中,如果我打开摄像头捕捉视频并旋转设备,摄像头会旋转,但当我点击选择视频时,我的应用程序也会横向显示旋转。有人知道这件事吗?

更新

每当我们关闭呈现的视图控制器时,问题再次出现但随机出现。有人知道这件事吗?

我通过在 UIImagePickerController 的委托回调中设置纵向方向解决了这个问题。该问题仅在我们仅使用视频选项直接打开相机时出现。如果我们用照片和视频选项打开相机。它工作得很好。

- (void)setPortraitOrientation {
    [[UIDevice currentDevice] setValue:@(UIInterfaceOrientationPortrait) forKey:@"orientation"];
    [UINavigationController attemptRotationToDeviceOrientation];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [self setPortraitOrientation];
    [picker dismissViewControllerAnimated:YES completion:NULL];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    [self setPortraitOrientation];

    [picker dismissViewControllerAnimated:YES completion:^{

    }];
}