I have custom View using ARSCNView, let's say it's something like
import Foundation
import UIKit
import ARKit
import SceneKit
@available(iOS 11.0, *)
class ARSceneView: ARSCNView, ARSessionDelegate, ARSCNViewDelegate {
}
I need to use it in React Native, so I created swift view manager:
import UIKit
@objc(ARSceneViewManager)
class ARSceneViewManager : RCTViewManager {
override func view() -> UIView! {
if #available(iOS 11.0, *) {
return ARSceneView(frame: .zero)
} else {
return UIView()
};
}
override static func requiresMainQueueSetup() -> Bool {
return true
}
}
and ObjC file:
#import "React/RCTBridgeModule.h"
#import "React/RCTViewManager.h"
@interface RCT_EXTERN_MODULE(ARSceneViewManager, RCTViewManager)
@end
I used it in my App.js file:
const ARSceneView = requireNativeComponent('ARSceneView', ARSceneView);
But it does not seem to appear to screen - I can see only black screen. What am I doing wrong? If I use e.g. UILabel instead, everything works very well.