ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

iPhone OS 3.0〜3.2.1用カスタマイズ可能ステータスバー時計 StatusBarCustomClock

      2015/12/20

iPhone OS 3.0〜3.2.1用のカスタマイズ可能なステータスバー時計「StatusBarCustomClock」というのを作ってみました。
iPhone OS 3.2.1でも動くということは、iPadでも使えるということです。
iOS 4.0用は以下にあります。

iOS 4.0用カスタマイズ可能ステータスバー時計StatusBarCustomClock4

設定で書式を変更できます。(続きは[MORE]から)

※スクリーンショットは、ほぼデフォルト設定

履歴

  • 0.5-1 2010.08.11 CPU使用率を下げる修正。また、求める設定とCPU使用率に応じて更新間隔などが調整できるように設定項目を追加(参考
  • 0.4-2 2010.08.04 iPhone OS 3.2.1対応パッケージ修正
  • 0.4-1 2010.07.23 TXTでテキストを埋め込む場合に「R」、「FM」を展開してしまう問題に対処
  • 0.3-1 2010.07.22 iPhone OS 3.2対応、いくつかの機能を追加
  • 0.2 2009.08.08 1秒ごとに表示を更新するように
  • 0.2 2009.08.08 初版

既知の不具合

  • StatusBarCustomClockはSBSettings等による時計書式変更機能と排他利用になります。共存できません。
  • 内部的な文字幅はデフォルトの「00:00」のままなので、あまり長いと他の表示物とかぶってしまいます。これも、文字幅を変更する方法が分からないからそうなっています。SBStatusBarTimeViewのCGRect _textRectというインスタンス変数を変更すれば直りそうですが、object_setInstanceVariableだとCGRectにアクセスできず、それに代わる方法が分からなくて困っています。

設定項目解説

  • Refresh Interval: 表示の更新間隔です。更新間隔を短くするとCPU使用率が高くなる傾向にあります。CPU使用率が高くなると、バッテリ持続時間に影響を与える可能性があります。「System Default」は恐らく1分間隔と同義です。CPU使用率についてはStatusBarCustomClock4のエントリを参考に。この項目だけはテストモードに入っても変更が準リアルタイムに反映されず、respringが必要です。
  • Date Format: 時計の書式です。デフォルトは「M/d EE HH:mm FM」。書式は「Unicode Technical StandardのLOCALE DATA MARKUP LANGUAGE (LDML)の「Date Format Patterns」」を参照してください。拡張の書式として「R」、「FM」、「TXT」の三つがあります。「R」は六曜、「FM」は空きメモリ容量、「TXT」は設定項目「Text File Path」のテキストファイルの中身に置換されます
  • Text File Path: 「TXT」によって置換されるテキストファイルのパスです。エンコーディングはUTF-8にしておく必要があります。この項目だけ10秒に1回の更新です。もちろん、テキストはdaemonなどに自動更新させることを想定しています
  • Locale: 書式のロケール設定です
  • Font Color: 色指定。CSSの色表現が使えます
  • Font Family: フォント指定。何らかの手段でシステムにインストールされているフォント名を調査する必要があります
  • Font Weight: フォントのウェイト指定。CSSの表現が使えます
  • Font Size: フォントのサイズ指定。CSSの表現が使えます
  • X Offset: 時計の表示開始X座標。プラスの整数を指定すると右にずれます
  • Y Offset: 時計の表示開始Y座標。プラスの整数を指定すると下にずれます
  • Test Mode: オンにし、リスプリングするとテストモードへ移行します

メモリ空き容量算出についてはFujikawaさんのplist.appを参考にさせていただきました。
この場をお借りしてお礼申し上げます。

http://ero.movie.coocan.jp/iPhone/plist/

CPU使用率について

設定次第ではCPU使用率が高くなり、バッテリ持続時間に影響を与える可能性があります。
この問題と、0.5から追加された設定項目「Refresh Interval」については、StatusBarCustomClock4の解説を参考にしてください。

iOS 4.0用カスタマイズ可能ステータスバー時計StatusBarCustomClock4

StatusBarCustomClockにbuzztter、円相場など、様々な情報を表示する

iPadのステータスバーにbuzztterや円相場を表示

テストモードについて

テストモード中は、設定を1秒毎に読み直しているので、設定が比較的リアルタイムで反映されます。しかし無駄な処理なので、普段はオフにしておいてください。オフにしておくと、オンメモリで処理されるので余計な負荷がかかりません。

設定を変更してもすぐに反映されないことがあると思います。反映させるには、設定の別項を編集状態にするか、いったんStatusBarCustomClockの設定から上の階層に抜けます。

キャリア名を消す

StatusBarCustomClockを使うとステータスバーが手狭になります。

MakeItMineというCydiaからインストールできるアプリケーションでキャリア名を消すことができます。

これは、/var/mobile/Library/Preferences/com.apple.springboard.plistに以下を追加する、ということをやっています。<string></string>の中身を空にすればキャリア名が消せます。

<key>SBFakeCarrier</key>
<string>hoge</string>

動作環境

  • iPhone OS 3.0
  • iPhone OS 3.0.1
  • iPhone OS 3.1
  • iPhone OS 3.1.2
  • iPhone OS 3.1.3
  • iPhone OS 3.2
  • iPhone OS 3.2.1
iOS 4.0用は以下にあります。

インストール

インストールは、いつものNew野良リポジトリから「StatusBarCustomClock」で検索してください。

例によって安定性等は保証するところではないので、そのつもりで使ってください。
無保証、無サポートです。

 - iPad, iPhone, Jailbreak, ガジェット