ステータスバーの時間に加えて、日付と曜日を表示したい。
これは、http://homepage3.nifty.com/moyashi/cydia/ のcydiaレポジトリで提供されていた、StatusBarCustomClock で出来たのだが、これが非継続になり、今回のiPhoneのrecovery(再脱獄)で、再インストールできなくなってしまった。
そこで、WinterBoardを導入して、以下のリンクにあるように、このThemeとしてのStatusBarの日付、曜日表示を導入することにした。
http://www.ipoday.net/ipodtouch_custom/item_2981.html
いくつかbugがあったので、このThemeにあるWidget.htmlのJava scriptを修正した。それらは以下の通り、
1. 0時を24時に勝手に書き換えてしまう。widget.htmlでやっているので、
// currentHours = ( currentHours == 0 ) ? 24 : currentHours;
のようにコメントアウトすれば直る。なお日本語エンコードになっているので、terminalのvimでは
漢字が表示できず、母艦に転送して、emacsやWZeditorなどで編集する必要がある。
2. Widget.htmlにバグがあり、日付が更新されないことがある。これは、this_date_timestamp=new Date();
以下の日付の設定が、updateClock()の中に入っていないことが原因。書き換えたら直った模様。
3. また、設定->一般->日付と時刻で時間帯(時差、TimeZone)を変えても、この時計には一切反映されない。
4. この時計が表示されるアプリがかなり限定されている。表示されるのは、標準添付のアプリに多い。これへの対応はwall_paperに書き込むとかしか方法はないのか。
以前、moyashiさんがリリースしていたstatucBarCustomClockでは、これらの問題はなかった。
4.については、sbsettings→more→extras&optionでdateをonにすると解決するが、これでも3.の問題は解決しない。
lock画面の時計や日付は変わっているので、時間帯変更の問題ではない。
moyashiさんのstatucBarCustomClockはこういう問題はなかった。このdebファイルをお持ちの
かたがいたら再配布してもらいたい。
3.について、Widget.htmlを書き換えて調べてみたところ、java scriptのインタプリタ自体にバグがあるようで、時間帯を変えても、Date(); でとってきた時間情報のTimeZone情報が常にGMT-9(日本時間)になっている。
sbsettingの機能にあるStatusbarの日付表示も同じ情報が使われているようで、こちらも常に日本時間表示になってしまう。MobileTernminalで、iPhoneのunixのコマンドラインからdateコマンドを実行するとTimeZoneが正しく反映された時刻が表示されるので、java scriptを使わずに表示すれば正しく表示できると思う。java scriptからunixのdateコマンドを呼ぶ方法もありそうだが、重そうなのと、3.の表示できないアプリが多いという件もあるので、他のやり方を考えてたい。ひょっとしたらiOS4.0に上げれば解決しているかも。moyashiさんは、Cのnativeコードで、時刻,日付を取得していたんだろうか。
非公式アプリとしてCコード開発をしなければ、3. 4.は解決しないのだろうか。公式アプリならXcodeで開発できるし、Appleに情報があるが、脱獄アプリに関しては、どこに、そういう情報があるのだろうか。。どなたか、ご存じなら教えていただきたい。
16年間のご愛読ありがとうございました。
-
以前よりお伝えしていたように、本日3月31日をもってTechCrunch
Japanは記事の更新を停止します。これまで16年という長い間ご愛読いただいた読者のみなさまに感謝をお伝えしたいと思います。
今後、TechCrunch… Read More
2 年前