Cómo insert una date y hora del server de firebase utilizando iOS SDK en el proyecto Swift

En la sección "Capacidades sin connection" de la guía de iOS , menciona kFirebaseServerValueTimestamp , que no parece funcionar en un proyecto Swift (la autocomplete no lo solicita).

Intenté [".sv": "timestamp"] como lo hizo el ejemplo Swift. Pero se queja de que esto no se puede establecer con otros valores y tiene que ser el único valor para el path dado.

Lo que quería hacer es save la timestamp createdAt junto con otros valores para el object. Y prefiero usar la hora del server para evitar el sesgo del reloj del cliente.

¿Cómo puedo hacer eso?

Agregue el ".sv":"timestamp" entre corchetes [ ] cuando lo agregue a su input Firebase .

p.ej:

 let objectToSave: Dictionary <String: AnyObject> = ["date": [".sv": "timestamp"], "key1": "value1", "key2": 1234.....] 

Captura de código

Debe escribirse en su Firebase como:

 date: 1463329843759 

Firebase captura de pantalla

A partir de Firebase 4.0 puede usar ServerValue.timestamp ()

por ejemplo:

  let ref = Database.database().reference().child("userExample") let values = ["firstName": "Joe", "lastName": "Bloggs", "timestamp": ServerValue.timestamp()] as [String : Any] ref.updateChildValues(values) { (err, ref) in if let err = err { print("failed to upload user data", err) return } }