通过Firebase进行Arkit 2 ARWorldMap持久性

时间:2018-11-25 14:49:31

标签: firebase firebase-realtime-database persistence arkit arworldmap

我正在尝试使用持久性保存ARWorldMap并将会话保存到Firebase实时数据库。来自ARWorldMap的数据的类型为NSArchivedData,但是Firebase只能保存以下类型的数据:

  • NSString
  • NSNumber
  • NSDictionary
  • NSArray

如何将NSArchivedData转换为上述任何类型,并从Firebase提取数据以还原世界地图会话?我们已经尝试将数据转换为字符串(使用UTF-8格式),但是似乎我们正在丢失数据。

最好的问候, 卡斯珀

2 个答案:

答案 0 :(得分:0)

不能。

但是,您可以将数据保存在Firebase存储中,然后将其URL作为参考保存在实时数据库中。

答案 1 :(得分:0)

I hope this will help you to archive the world map

let data = try NSKeyedArchiver.archivedData(withRootObject: worldMap, requiringSecureCoding: true)

and then try saving it on firebase storage and get the download url and save the download url in the firebase Firestore/RealTimeDatabase. After that you can download it on any iOS device compatible with ARKit and unarchive the downloaded worldmap and show it in the sceneView.