2017-12-01 13 views
0

Firebaseから現在のUTCタイムスタンプを取得したいとします。私はデバイスからUTCのタイムスタンプを取得していましたが、ユーザーが電話時間を使用しないようにこの方法を変更しました&変更できないFirebase時間を使用します。iOSのfirebaseからタイムスタンプを取得できませんか?

以下のコードを使用しましたが、私はタイムスタンプを返しません。それは

  • ようFirebase時間を使うのは良いアプローチを:

    print("server value \(FIRServerValue.timestamp())") 
    

    それはこの

    let objectToSave = ["date": [".sv": "timestamp"]] 
         print("timestamp \(objectToSave)") 
    

    今私は2つの質問を持って私も試した私に[AnyHashable(".sv"): timestamp]

    としての価値を与えますユーザーはデバイスの時間を 変更できません。

  • タイムスタンプの値を取得するにはどうすればよいですか?
+0

これは、あなたがhttps欲しいものです:あなたがFirebaseから取得している結果を操作するために、私はあなたが、より詳細にこの問題を扱うこれら2件のSO同様の投稿を確認してくださいお勧めします/stackoverflow.com/questions/29243060/trying-to-convert-firebase-timestamp-to-nsdate-in-swift – DoesData

答えて

0

だから、私はあなたの二つの質問に一致するように二つの部分で答えを分離する:それは良いアプローチ

•ですか?

これは、アプリの機能と使い方によって異なります。たとえば、プレイヤーが1時間待ってからもう一度プレイできるようにする機能を持つゲームでは、実際にはデバイスの時計を転送してユーザーを欺く唯一の解決策です。しかし、あなたのアプリがメッセージングアプリなんかあれば、あなたは次の2つの方法があります:(1)あなたのコードがどんな状況(将来の日付など)に反応することができるので、 (2)あなたは、アプリケーションの実行をよりスムーズにすると考えています。これは、最初にエッジケースが発生するのを防ぐためです。この場合、リアルタイムを取得する必要があります。

あなたが考えることができる別の例は、Apple独自のアプリケーションです。 MacBookの内部時間を使ってXcodeでテストし、iOSシミュレータで自分のアプリのイベントを将来または過去に経験しました。私はXcodeとFinderがMacがそれらを伝えている時代に基づいていることに気付きました。だから私は2ヶ月後に作成されたファイルとXcodeログで終わります。

•タイムスタンプ値の取得方法は?

FIRServerValue.timeStamp()に正しくアクセスしていないようです。 Firebaseのドキュメントによると、それは次のように返されます:class func timestamp() -> [AnyHashable : Any]。 /:

Trying to convert Firebase timestamp to NSDate in Swift

Swift 4: Firebase Timestamp

関連する問題