Я изучаю приложение с помощью ARKit.У меня есть UIViewcontroller с ARKit, который является root для UINavigationController.Когда я отклоняю это, я получаю следующую ошибку:
Cannot remove an observer <ARImageSensor 0x1d02c8110> for the key path "deviceWhiteBalanceGains" from <AVCaptureFigVideoDevice 0x1047827e0> because it is not registered as an observer.
(null)
Как я могу это исправить?
Код моего ВК следующий:
#import "ARViewController.h"
#import <ARKit/ARKit.h>
@interface ARViewController () <ARSCNViewDelegate, ARSessionDelegate>
@property(nonatomic, strong) IBOutlet ARSCNView *sceneView;
@property(nonatomic, strong) ARAnchor *arAnchor;
@end
@implementation ARViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.sceneView.delegate = self;
UIBarButtonItem *cancelButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelButtonTapped)];
self.navigationItem.leftBarButtonItem = cancelButtonItem;
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
ARWorldTrackingConfiguration *configuration = [ARWorldTrackingConfiguration new];
[configuration setWorldAlignment:ARWorldAlignmentGravity];
[configuration setPlaneDetection:ARPlaneDetectionHorizontal];
[self.sceneView.session runWithConfiguration:configuration];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.sceneView.session pause];
}
- (void)cancelButtonTapped {
[self dismissViewControllerAnimated:YES completion:nil];
}
#pragma mark - ARSCNViewDelegate
- (SCNNode *)renderer:(id<SCNSceneRenderer>)renderer nodeForAnchor:(ARAnchor *)anchor {
// some my code
}
@end
Я не вижу ничего, что могло бы вызвать проблему.