読者です 読者をやめる 読者になる 読者になる

pslaboの日記

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

iPad3のSIMロックに関する考察とSIM下駄による解除の試みはSoftbank版iPad3にiPhone用のSIM下駄を履かせてみるにいろいろ書いてます。

ポストした内容のカテゴリー分けがちゃんと出来てないので、過去記事を探したい方はお手数ですが検索で探してみてください。


iOSアプリが想定通りに動かないときは、カレンダーの設定を疑ってみる

iOS Pebble

iOS向けのアプリで MisFit と JetStar が変な動きをしていたので色々調べたところ「暦の設定が和暦だと正しく動かない」ことが判明しました。

※このネタでは 2015年11月時点で Pebble Classic にて発生中の「 MisFit の記録が時刻がずれる」という、おそらくタイムゾーンの不整合と思われる事象は解決しませんのでご注意ください。

MisFit アプリの場合はこんな感じ。

  • Pebble 側から iPhone 経由で同期させても iPhone アプリ側の表示が更新されない。
  • しかし MisFit のサイトにログインすると更新したデータが正しく表示される。
  • iPad に MisFit だけインストールしてみると、iPad では更新データが正しく表示される。


JetStar アプリの場合はこんな感じ。

  • 日付の年表記が 4003 年になる。


なんでやねん、と思っていたのですが、4003 - 2015 = 1988 ですよね。

1988 というのは平成元年の1年前、つまり平成ゼロ年ですわ。


ああ、なるほど、これは現在の年である 2015 に対して、西暦和暦変換のための 1988 が足された結果、4003 年と勘違いしておるわけですね。


たぶん、和暦設定された iPhone 上の MisFit は現在の年が 4003 年だと認識した挙句、Pebble の MisFit アプリがクラウド側に同期したデータを受信した際に「これは過去のデータだ」と判定したので表示できん訳ですね。

しかし、西暦設定された iPad はそういう誤解が起きないので正しく処理できる、と。

アプリ側が西暦以外の暦に対応できていない場合は、こういう残念なことが起きる訳ですね。