AppleTVの時刻ズレ問題

Forumに投稿しました。
https://forums.developer.apple.com/message/139631

AppleTVは、当然ですが内部に時計を持っています。Siriに「今何時?」と尋ねると、ちゃんと答えてくれます。しかし、答えてくれる時間がおかしいことが、たまにあります。

状況を箇条書きにすると、

  • AppleTV内部のクロックは、電源に刺さっていない状態だと進まない。(iPhoneは進みますよね)
  • 起動時やネットワーク接続時にNTPサーバに問い合わせて時刻を取得しているようだが、これが結構失敗したり、NTP接続自体していないように見えることがある。
  • 失敗すると、時刻がずれたままアプリが使えてしまう。
  • 時刻をシビアに扱うアプリケーションの場合、アウト。
  • ユーザが自分で端末の時刻を修正する方法は、ない。

という感じです。

解決策を効き目がない順番に記載します。

  • 待つ。ほっとく。
  • ネットワークに接続しなおす。
  • ネットワークにつながった状態で 設定=>システム=>再起動 する。

確認した範囲では、再起動以外に方法はなさそうで、アプリ側でもそのような対応を促すメッセージを表示する仕様となりました。再起動してもダメな時もありました。

今回はDRM関係の処理で再生開始時の時刻を厳しめにチェックしているところがあって、時刻がずれていると動画が再生できない!という割とクリティカルな問題に発展してしまいました。

電源を抜き差しするなんてことは一般のユーザだとそんなにないだろうという思想なのでしょうか。

正直アプリ側ではどうしようもないので、Appleさんがなんらか修正してくれることを期待しています。

ちなみにAppleTVの時刻は上記のSiri Remoteか、XcodeのDevice画面のコンソールで確認できます。 tvOSアプリ開発者の皆さんはご注意ください。