我目前正在使用Xamarin制作我的第一个ARKit应用。
我正在尝试捕获AR视图(相机视图+ 3D场景)以供用户保存和共享。
正如其他文章所建议的那样,我在ARSCNView(名为SceneView)上使用this 'Snapshot' method来获取UIImage并将其与以前创建的UIImageView一起显示,并且一直在获取这个MemberAccessException:MemberAccessException screenshot
添加的堆栈跟踪没有帮助: Stacktrace screenshot
似乎Snapshot在内部尝试创建SCNSceneRenderer实例,因此出现错误。
我有点绝望,您会认为在AR视图中使用3D场景拍照很简单自然。
任何帮助将不胜感激。
答案 0 :(得分:0)
似乎您正在尝试在类本身而不是该类的实例上调用snapshot
。将您的呼叫更改为在视图对象上呼叫snapshot
。
答案 1 :(得分:0)
因此,我仍然相信这是Xamarin的错误,并且找到了解决方法。
我引用的UIView是要从列表ScreenshotHiddable中的屏幕快照中隐藏的,并且我正在我的SceneView上使用经典的UIView.Capture方法:
ScreenshotHiddable.HiddenAll(true);
UIImage screenshot = SceneView.Capture();
ScreenshotHiddable.HiddenAll(false);
我承认这有点丑陋,但是可以正常工作。