Showing posts with label iPhone. Show all posts
Showing posts with label iPhone. Show all posts

Saturday, July 31, 2010

iPhone (iOS4)でMMS以外の3G通信を潰す


そもそもなんでこんなことをしたいのかといえば、SBM回線を二つ持っていて片方は最低料金で運用したいから。
3Gは一個あればNexus OneのWiFiテザリングで十分なのです。

Tuesday, March 16, 2010

iPhoneで時刻自動設定

先日のNexus One時刻同期記事のおまけなんですが。
iPhoneでの時刻自動設定の話。

iPhoneには時刻の自動設定機能があります。
この機能は携帯電話キャリアが携帯電話ネットーワーク上に流しているNITZ(Network Identity and Time Zone)というものを使って実現されています。
つまり、携帯電話キャリアがNITZを流していないと利用できません。

日本で正規にiPhoneを購入するとキャリアはソフトバンクモバイルになりますが、ソフトバンクはNITZを流しておらず、時刻の自動設定はできません。
実際、ソフトバンク用のCarrier Bundleファイル(/System/Linrary/Carrier Bundles/Softbank_jp.bundle/carrier.plist)ではNITZサポートを使わないような設定になっており、設定画面には自動設定の項目が表示されません。

さて、ここでiPhoneをjailbreak, sim unlockしてdocomo SIMを使ったらどうなのかという実験をしました。
(jailbreakやunlockは自己責任でどうぞ)

iPhone 3GS OS 3.1.2をPwnage Tool 3.1.5 でJB, Cydia から blacksn0w, NTTdocomo Carrier bundleをインストール。
docomo SIMを差して通話ができることを確認したものの、CydiaにあるCarrier bundleはNITZが無効になっているので、時刻の設定に自動設定がでてきません。

iFileなどをつかって/System/Library/Carrier Bundles/docomo_jp.bundle/carrier.plistを編集します。
SupportsNITZていうkeyのがあるのでfalseをtrueに変更し、保存します。
(※ 2010/04/05 追記: 現在CydiaにあるNTTdocomo Carrier bundle 0.8-0で有効(true)になっているようです)


設定に自動設定がでてきます。

適当に時計をずらしてから、オンにすると直ちに時刻が修正されるのがわかります。

というわけで、iPhoneでもdocomo SIMなどNITZに対応したキャリアなら時刻の自動設定ができました。
まぁiPhoneはiTunesと同期するときに時刻も同期するし、JBしているならばOpenNTPdだとかいくつか時刻同期ツールもあるわけですが…。

Thursday, February 4, 2010

続: Nexus One と iPhone を SIM 1枚で運用する(MyWi編)

先日は Nexus One を親にしたテザリングでiPhoneを使ってましたが今回は逆になります。
この方法は iPhoneをjailbreakする必要があり、Nexus OneもカスタムROMにしなくてはならないため、積極的にオススメはできません。
が、既に条件を満たしているのであれば試してみるのもよいかと思います。

さて、Nexus One はカスタムROM CyanogenMod 5.0 beta3以降にします。 (参考)
それだけで準備OKです。

iPhoneのほうはJBアプリのMyWi (No Rock)というのをCydiaから入れます。しかしながらこれは有料で$9.99かかります。

MyWiはadhocネットワークでテザリングを可能にするアプリで、テザリングは純正同様にバックグラウンドで動作するので、テザリング中でも電話やネットワークが通常通りに利用できます。


また、純正テザリングは3.1.2で使えなくなってしまいましたが、MyWiをインストールすることにより再び有効化することが可能となりますので、そのために購入するのも悪くないかもしれません。

MyWiを起動したらSSIDとWEPを適当に設定して ON にします。

するとNexus Oneの無線LAN設定のところにSSIDが現れます。

WEPキーいれて接続するだけでOK。

さて、このCM5.0で実装されてるadhocネットワークのコードをみて比較してみますと、オリジナルのコードではどうやら意図的にadhocを無視して、関連するコードも省いてるようです。

抜粋
@@ -1147,9 +1167,10 @@
* Ignore adhoc, enterprise-secured, or hidden networks.
* Hidden networks show up with empty SSID.
*/
- if (AccessPointState.isAdhoc(scanResult)
- || TextUtils.isEmpty(scanResult.SSID)) {
- continue;
+ //if (AccessPointState.isAdhoc(scanResult)
+ // || TextUtils.isEmpty(scanResult.SSID)) {
+ if (TextUtils.isEmpty(scanResult.SSID)) {
+ continue;
}


大して難しくない内容なので移植してCM不要でできないかやってみようとしましたが、frameworkまで入れ替えねばならなくなり、この部分だけピンポイントで入れ替えるのが難しそうなので断念しました。


そんなわけで、今はiPhoneにSBMのSIMを差して2台を1枚のSIMで運用しております。
Nexus OneでのSBMのMMSがどうにも安定しないのでしばらくこの体制でいきます。

Tuesday, February 2, 2010

mobile power supply items

携帯端末を複数持つようになったので。

僕のような人間はスマートフォンの電池がきれると死にます。
そんなわけで、補助電源をいつも持ち歩くことにしています。

まず、旅行や超長時間の移動の際には eneloopのmobile booster KBC-L2AS

去年の暮に新型がでてiPhoneに正式対応しました。逆に旧型のだと充電できないことがあるらしいです。
長距離じゃなくても、GPSやWiFi,3Gを駆使した使い方をする時にも活躍します。
たとえば、iPhoneをGPSロガーとして使用する時とか。

次に不意に電池がやばくなってしまったときのために、eneloopのmobile stick booster

なんといっても場所をとらないのがよいです。
iPhone, Nexus Oneともに充電可能ですが、単体で電池を充電できないないので注意。
とにかくいつもカバンに忍ばせておけば、いつバッテリーがやばくなっても安心できます。

ケーブルはリール式のコンパクトなやつがおすすめですね。
iPhoneのモノは多数発売されてるのでいいとして、Nexus OneのMicro-USB Bタイプのものはミヤビックスのものしか見つかりませんでした。


また、Micro-USB変換アダプタをつかえばMini-USBのものが使えます。

Mini-USB Bのケーブルは世の中に大量に溢れいてるのでこれも一つ持っておくといいかもしれません。
ただし、中には粗悪な変換ケーブルもあったりするので気を付けた方がいいかもしれません。
これを経由したmobile stick boosterでのNexus One充電は問題なくできました。

そんなわけで、わたくしは KBC-D1ASとケーブルx2、変換アダプタをいつも持ち歩いています。
KBC-D1ASでアルカリ乾電池が使えればさらによいのですが…。パッケージの説明書によると効率はeneloopより落ちるらしいです。
緊急用ならアリかもしれません。

Saturday, January 23, 2010

Nexus OneとiPhoneを1枚のSIMで運用する

SIM1枚でNexus OneとiPhoneを運用しようというエントリです。


まず、そのためにはどんな方法があるのか。まっとーな方法はおそらくどちらかを親にしたテザリング。

1. iPhoneを親にするケース
1-1. 純正テザリング
1-2. pdanet
1-3. MyWi

このうち純正はUSBかBTになり、AndroidでBTの子テザはできない。USBなんて仮にできたとしてもイヤだ。
pdanetは有料JBアプリで、しかも子の側でadhocな無線LANを作らなくてはならない。そしてそれはAndroidではできない。
となると残るはMyWiになるが、これもJB必須で有料。で、実はAndroidはadhocネットワークに参加すらできない。

2. Nexus Oneを親にするケース
2-1. USBやBTのテザリングはあるにはあるがiPhone側で利用できないので無理
2-2. pdanet for AndroidはUSBかBTのみ
2-3. Wireless Tether for Root Users.

つうわけで、2-3に絞られる。これはiPhoneのMyWiと同じで、adhocな無線LANでテザリングする。iPhoneでadhocネットワークに参加するのは問題なくできる。(adhocネットワークを作ることは出来ない)
とりあず無料で使える。
ただ、Android 2.1用はまだ安定していない。

ともかく試すことにします。
rootとってることが前提。

Nexus Oneのブラウザで http://code.google.com/p/android-wifi-tether/に行き、Nexus One用のリンクからwireless_tether_2_0_pre1-eclair.apkをダウンロード。
kernel updateはひとまず要らない。NETFILTERを有効にしたkernelらしいので、Access Controlで使うのかも。LinuxではNATするのにも必要なんだけど、入れなくても動いた。おかしい。まぁいい。


そのままリストからタップするとインストールできるのでインストールする。


終わったら開く。
ここで、suがどうのでAllow Denyの選択を迫られることがあるのでとにかくAllowする。
うまく起動出来ずに強制終了か待機を迫られたら、強制終了して、再び開く。何度か繰り返してると起動できる。

メニューボタンを押して設定をする。設定しないでも動きそうではあるが、無防備になってしまうのでやめましょう。
WEPはすでに脆弱で意味がなくなってきてはいるのだが、ないよりはマシ。

変更するのは Wireless Encryptionを有効にする、Change Passphrase でパスフレーズを適当に決める。
あとはSSIDを確認、あるいは変更しておく。

これで-Press to start tethering-をタップすればサービスが開始される。


iPhone側では、Wi-Fiネットワークの設定で先程設定したSSIDのネットワークが出てくるはずなので、パスフレーズを入れて接続すればOK。

結果としてどうなるかといえば、Nexus Oneが無線LANルータのように振舞ってくれる。(が、adhocなので厳密には違う)
テザリング中でもNexus Oneでネットを使えるし、あるいは電話していてもiPhone側でネットが使えなくなるようなことはなかった。

難点は、たまにクライアント側でIPの更新が出来ないことがあるということ。これは既知の問題で、クライアント側でWi-FiをOFFってONにすればいいらしい。
もうひとつはたまに起動出来ずに待機か強制終了の選択になってしまうこと。なんどか繰り返してると起動するのだけど。
あとはわりと電池を喰らう。WiFiと3Gを同時に使うのだから仕方がない。

とにかく表面的には問題なさげに使えているという状況。

蛇足だが PSP の場合、インターネット接続はインフラストラクチャの無線LANでなくてはならないので繋げられないようだ。

Friday, January 22, 2010

redsn0w 0.9beta3を試してみた

最初に言っとく。人柱的なことはやってない。

redsn0w 0.9beta3が出たので試してみた。
今回やったのは
・jailbreak 済 iPhone3GS (旧bootrom)
・verbose booting
ようするにboot中に何が起こっているか知りたかったので試してみたというわけです。

説明によると、
If you're already jailbroken (by whatever means), redsn0w can still be used to change your boot logos, revert back to the stock logos, or switch verbose booting on and off. By selecting “Already Pwned” you can bypass the steps normally needed to enter the jailbroken state.

すでにjailbreak済のiPhoneにはboot logoの変更などに使えるとあります。
つまり、jailbreak環境には影響を与えることはない、と読み取れます。
んで、それには“Already Pwned”をえらんどけばOKってことのようです。

では試してみます。
必要なものはredsn0wと3.1.2のipsw。already pwnedでもipswは必要。

途中で出てくる選択肢でチョイスするもの。

あとはそのまま進めばOK。

reboot するとこんな感じに。

何が起こっているのかわかります。
起動にえらく時間かかってるときに役立ちそう。

データが消えたり設定がリセットされるような事象も起きず、なんの問題もなさそうです。

いまのところ。

Thursday, December 10, 2009

Clock widget with Japanese holiday for SmartScreen


Objective-CというかiPhoneプログラム開発の勉強がてらに作りました。
高専の課題レベルのプロダクトですが。

祝日になるとスクリーンショットのように表示されます。
それ以外はClock Widgetと同じです。
祝日にならないと何が違うのかまったくわかりません。

自前のcydia repositoryにて配布しています。
http://ideb.northeye.org/
をCydiaのSourceマネージャで追加してください。

ソースコードは整理したらgithubで公開します。ライセンスはたぶんBSDかLGPLです。
今後は有料のウィジェットを駆逐できるようなモノを作っていきたい所存。

Tuesday, December 1, 2009

Twitter for Gruppled Lockinfo


Gruppled LockinfoつかっててTwitterを表示したい人へ。

ところで、Blogのコメントで質問をされても返事をするかわかりません。
仕事の依頼は御遠慮ください。
ちなにみわたくしは最早GruppledもLockInfoも使ってませんし、LockInfoは購入もしてないので今後の改修もとくにしません。



さて。

てっとり早く導入する方法。
Cydiaからlockinfoとclockhideとgitをインスコロール。
git はdeveloper modeじゃないと表示されない(たぶん)。(sudo apt-get install git でもオケ)
terminalあるいはsshでログインして次のコマンドを実行。
$ mkdir src
$ cd src
$ git clone git://github.com/takuo/iPhone.git
$ cd /Library/Themes/
$ sudo ln -s ~/src/iPhone/WinterBoard/GruppledLockInfo.theme .

git cloneでいらんもんまで取得されてますが気にしないか、消すかする。
WinterBoardのテーマセレクタで有効にする。

設定(抜粋)
GruppledLockInfo.theme/Bundles/com.ashman.LockInfo/config.js
 var sections = [
"Clock",
"Weather",
"Mail",
"Calls",
// "Voicemail",
"SMS",
// "Twitter",
"Calendar",
];

"// Twitter", のコメントをはずす (// を消す)

var twitter_username = "";
var twitter_password = "";

アカウント情報を入れる
その他適当に。

たぶんこんだけで表示されます。


今使ってるテーマにインテグレートしたい人はそれなりに知識ありそうなので勝手にやってください。
js/init.js の case "Twitter": あたりをごっそりコピる。
js/twitter.js をコピー、lockinfo.html でロードなりしてやればいいかと。
あーあと、strings/ja.jsだけでしか定義してない変数呼んでるので注意。

js/twitter.jsの著作権は放棄しませんが、改変再配布などは御自由にどうぞ。

ついでにお天気の都市名を日本語にしたい方は strings/ja.js の
var string_city_names = { "yokohama":"横浜" };

となってるとこで連想配列を定義すればいいです。
var string_city_names = { "yokohama":"横浜", "tokyo":"東京" };

みたいな。これは js/weather.js にも手を入れて実装しております。

なにか情報が足りないようでしたらTwitterなどで聞いてみてください。

Wednesday, September 23, 2009

GMail supports Push Mail for iPhone

http://googlemobile.blogspot.com/2009/09/google-sync-now-with-push-gmail-support.html によると、GMailがPush Mailをサポート開始したとのこと。

今までサポートしていたExchangeのActiveSync(カレンダー、連絡先の同期)にてメールの同期もできるようになった、ということのようで。
要するに、iPhoneのIMAP経由でGMailを使っていたのを、Exchange経由で使えばPush同期できますよ、ということになる。


Exchangeアカウントを追加する。


メールをオンにする。

iPhone上から https://m.google.com/sync?hl=en でデバイスの設定をしないと同期されない。

で、結局どうなのかというと、メールアプリのバッジがリアルタイムに更新される程度のPushで、いわゆるPush Notificationウィンドウは表示されない。
それと、ActiveSyncは電池食うらしいので注意が必要。

これだとまだIMAProwlは手放せないなぁ、というかExchangeアカウントは一つしか設定できないので、Google Apps for your Domainを併用していたりすると結局既存の通知アプリ等に頼らざるを得ない。
まぁProwlは汎用性が高いのでGMailが完璧なPushをサポートしたとしてもまだまだ使い道はある。

というか我々は重大な勘違いをしていたといえる。
Push MailとPush Notificationは違う。
あくまで「Push Mail = メールのプッシュ同期」であって、「Notification(通知)」は役割の範囲外なのでは、と。
要するにMail.appで派手な新着Notificationを実装されない限りはこれ以上よくならん。
(あるいは別のMail連携アプリで。)

Wednesday, August 26, 2009

Badges for Backgrounder.app


iPhone Backgrounderが更新されて、起動中アプリにはバッジがつくようになりました。
が、オリジナルのバッジはどうも気にいらないので変更します。

WinterBoardを使ってないのであれば
/Applications/Backgrounder.app/images/badge.png

を差し替えればOK

WinterBoard使っているのなら、オリジナルのファイルを上書きするのもアレですから
/Library/Themes/bgBadge/Folders/Backgrounder.app/images/badge.png

なんてのを用意して、bgBadgeテーマを有効にすればOK

オリジナルファイルを書き換えるとBackgrounderがアップデートするたびに差し替えなきゃならないのでWinterBoardつかったほうが管理はしやすいです。メモリ食いますが。

Sunday, August 16, 2009

ProwlでなんでもPush Notification



つうことで。
Prowlって何でもpush notificationできて便利なんですよーっていう記事です。

ここのところRubyつかってnotificationしてましたが、今回はWindowsのPowerShellを使ってみます。

というのも TVRock っていう録画マネージャアプリケーションがWindowsで、こいつの録画開始と終了をpushしてみたかったというだけなんですが。

そこで、Windowsで最も楽にscriptingできるのはなんだっていったらWSHかPowerShellなわけで。
まぁここは.NETのクラスライブラリがつかえるPowerShellにしてみましょう、と。

書いたコード
$state = $args[0]
$title = $args[1]

$url = "https://prowl.weks.net/publicapi/add"
$apikey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

$data = New-Object System.Collections.Specialized.NameValueCollection
$data.add("apikey", $apikey)
$data.add("application", "TVRock")
$data.add("event", $state)
$data.add("description", $title)

$wc = New-Object System.Net.WebClient
$res = $wc.UploadValues($url, $data)
$wc.Dispose()
無駄に変数使ってるけどこれだけ。
WebClient は勝手にUTF-8にしてくれるので何もしなくていいんですなぁ。

TVRockの設定


もうひとつ重要なのが、PowerShell で not-signed なスクリプトを実行できるようにしておかなくてはならない。
PS> Set-ExecutionPolicy RemoteSigned
x64環境の場合はTVRockが32bitなので32bitのpowershell.exeで実行しておくこと。
詳細はget-help about_signingで。

こんな感じで、録画待機に入るとPush。さらに終了時にPush。
特定のアプリケーションやサービスに限定されずに Push Notification を利用できるのはいいですな。

Saturday, August 15, 2009

Twitter Notification with Prowl

勢いあまってTwitterのiPhone Push Notificationを作ったので公開。
Rubyです。

http://github.com/takuo/TwiProwl/

TwitterのMentionsとDirect Messagesを監視してProwlにnotificationします。
特に目立った機能はないです。
一応複数のTwitterアカウントに対応。

Thursday, August 13, 2009

IMAProwlを更新

IMAProwl更新。
http://github.com/takuo/IMAProwl

一応RFC的にはIDLEしてから30分間は何もせず待ってていいことになってるのだけど、すべてのサーバが準拠しているとは限らないので一応サーバごとに任意の間隔で再IDLEするように変更。
 -
Application: IMAPServer
User: gonbe
Pass: himitsu
Host: imap.example.com
Interval: 10

config.ymlにこんな感じでIntervalを定義する。分単位で0にすると再IDLEチェックしない。デフォルトで20分。
GMailのサーバは定期的にEXISTSを送ってきてそのたびにUNSEENチェックと再IDLEが入るので特に何もしなくていいのです。(0にしといていい)
NOOP じゃないのはIDLE中は Tagged command を発行できない(DONEしか発行できない)ため。

あと、なんかのタイミングでスレッドがデッドロックして死ぬのを確認しているけど再現性がわからないのでとりあえず放置
#!/bin/sh

while true; do
./imaprowl.rb
sleep 3
done
こんなんしとけばとりあえずいいかと。

http://github.com/takuo/IMAProwl

余談ではあるけど、近頃セムパイが監訳なさったgit本が発売されたので宣伝。

Wednesday, August 12, 2009

IMAProwl - ProwlでIMAPの新着をiPhoneへpush notificationする


GPushがあまりにも不甲斐なかったので、自作したわけです。

ええと、IMAPやGMailの着信通知をiPhoneにPushしたい。
そんな要望にこたえるのがGPushというアプリであった。

しかし、GPushはGMailのアカウント情報をGPushのサーバに知らせなくてはいけない(らしい)。
そんなことは絶対したくない。パスワードを見知らぬ外部サイトに登録するなんてとんでもない。
しかもなにやら、サーバ側のトラブルでGPushはいま公開停止になっているとか。

そこで、代替手段を考えていたところ、ProwlというのがあってこれはGrowlというOS X用の通知アプリケーションと連携してiPhoneへPushできるんだそうだ。
なかなかすばらしい。Windows版もあるみたい。
ProwlアプリはAppStoreで購入できる。

そして、いろいろ調べているとこの Prowl、厳密にはGrowl専用というわけではなくてAPIが公開されており、各種言語用のAPIライブラリもあった。
こりゃー自作するしかないでしょう。

つうわけで、1時間ほどでできたのが IMAProwl。
Rubyです。

準備
  • Prowlにアカウント作ってください
  • AppStoreからProwlを買ってください

チェックアウトと、ruby/prowlのインストール
git clone git://github.com/takuo/IMAProwl.git
gem install prowl

config.ymlを編集する。
複数のアカウントを登録できます。
Prowl:
APIKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Accounts:
-
Application: GMail
User: example@gmai.com
Pass: secret
Host: imap.gmail.com
Debug: true
-
Application: Example
User: gonbe
Pass: himitsu
Host: imap.example.com
MailBox: news
Debug: true

Prowl::APIKey にはProwlアカウントで発行したAPI keyを。
あとはimaprowl.rbを実行するだけ。

注意
  • SSL専用です。PORTが993でない場合は Port: を定義。
  • UNSEENをチェックするフォルダが INBOXでない場合は MailBox: を定義
  • notificationキャッシュはオンメモリなので再起動するとすべてのUNSEENメッセージをnotificationしちゃいます。
  • まだ気に入らない部分がいくつかあり、完成ではないです。

Sunday, August 9, 2009

湘南海岸へサイクリング

昨日は自転車で湘南海岸のほうへいってきますた。

この日のためにCW-Xのバイクパンツを購入してたわけだが、これがとてもよかった。
これがなかったらたぶん80kmももなたかったと思われる。
オススメ。

で、今回の装備。

iPhoneをナビとGPSロガー代わりに使用。バッテリは持つはずもないので単三のエボルタとエネループを2本ずつ用意。
しかし、これだけじゃぎりぎりだった。というか走るペースがあまり速くないので、もうちょっと余裕をもって準備すればよかったと後悔。
実際帰りの途中でバッテリが切れそうになり、アルカリのエボルタを装着したのだけど、
このアクセサリは充電に対応してません
的なことを言われて補充できなかった。
結局残り5%で帰宅できたけど、iPod切ったり、3G切ったりわりと必死だった。

バッテリケースは手ごろのがなかったのでPSPのポーチをカラビナで無理やりつけた。
ついでに耳のお供に伊集院の深夜の馬鹿力をフルサイズで数日分。

行きルート。
たまプラ-湘南 行きルート at EveryTrail

Map created by EveryTrail: GPS Trail Maps
246の途中の登坂で死にそうになった。
467の中盤はなんかサイクリング向きだったなぁ。ずっと平坦で。



海岸では水に入りたかったのだけど、近くにシャワーの存在を確認できなかったので昼寝して終了。

人少なかったし晴れてたしわりといい感じで。

帰りルート。かなり必死で。
たまプラ-湘南 帰りルート at EveryTrail

Map created by EveryTrail: Share GPS Tracks
これはルート選択を誤ったといわざるを得ない。
危うく横浜新道の料金所直前までいってしまったし、保土ヶ谷バイパスは乗れないし。
そんなわけで還りはえらい時間かかってしまった。

総計80.2km
まぁ、MTBは疲れるのでやはりロードバイク欲スィ。という結論。

Friday, August 7, 2009

WinterBoardでiPhoneのテーマを変更してみる

jailbreakしたしせっかくなのでテーマをかえてみましょう、と。
まぁテーマなんてのは、完全に自己満足の世界だし、誰かに見せるもんでもないんだけど。

というわけで現状こんな感じのホームスクリーンになっとります。

Cydiaでも配布されているillumineテーマをいれてアイコンを若干追加したり変更。

iTickerというRSSティッカーを入れたものの、なんとなく気に入らなかったので全部書き直したのを適用。
JavaScriptでスクロールします。


しかし短時間にelementを移動させるスクリプトはどうやらCPUを使うらしく取り扱い注意。
横スクロールはずっと食い続けるので、縦スクロールにして一時停止するタイミングを設けて対処。


さて、Lock Screenのほうは必死に情報表示してます。

予定がいっぱいあるけどしょぼかるをインポートしてるだけ

Gruppled LockInfo Themeをベースに、時計は秒を表示して土日の表示は色つきに、カレンダーは祝日対応に、Twitterは完全に自分で実装。

ただ、LockInfoのバグなのか仕様なのかわからないけどSMSのTEXT表示ができずにいる。

(本来差出人の下に内容が表示される)
どうせsms.dbをsqliteで参照してるだけだろうと思って調べてみたのだが案の定、SMSPluginで
select address,text,date,group_id,unread_count from message...

などというSQLを発行している。
しかし、sms.dbのmessageテーブル中のtextカラムは常にempty stringのようで、実際のtextは別のテーブルに格納されていた。
言語環境で違うのかOSのバージョンで違うのかわからないけど、面倒なのでひとまずおいて置くことに。


ついでに。

iPodは Sleeve Music Themeというやつを。

というわけで、tickerがCPUを食らう以外はまぁいいかな。

入れたもの(基本的にCydiaから)
その他いじったもの http://github.com/takuo/iPhone.git/

Thursday, August 6, 2009

iPhone用にアクアパックを購入してみた

これからの季節、海だ山だとなにかとアウトドアな活動が多くなる(かもしれない)わけですがみなさんいかがお過ごしでしょうか。

アウトドアにもやはりiPhoneは欠かせないわけで、そうなると水に弱いiPhoneはなにかと不安であります。
というわけでですね、いろいろと調査した結果、PDAやカメラ、携帯などの防水で有名な AQUAPAC なるものがあることを知ったので、購入することにしました。
ていうか買いました。



jetdaisuke氏も納得[youtube link]の一品です。


ぴったしで、いい感じです。ちなみに AQUAPAC 344 というタイプ。
ちゃんとタッチスクリーンも反応します。

シリコンジャケットの類は脱がせたほうがいいかもしれない。

Wednesday, August 5, 2009

iPhoneと共にトレーニング走行

自転車用携帯電話ホルダーが届きましたん。
例のサンワサプライが販売しているアレです。


なんという中国産という具合に中国語の説明がメイン。
萬用型機/踏車専用車架(?)
日本語の説明書もついてたけど。


作りもおもちゃっぽくて少々不安だけど、ダートじゃなきゃ平気そうです。
あっしのアイホンヌはシリコンジャケットを着ているのでかなり固定力は高いはず。


いちおう、透明のゴムバンドがついてるので装着しておくと安心。


あと落下防止のストラップもついているのだけど、これは長すぎて逆にアレな気がします。
取り付けに一工夫いるかも。今回はストラップつけずに設置。

というわけでiPhoneでマップ見つつトレーニングしてきましたが、これがまた良好で。GPSの反応が。
自転車で走るのが一層楽しくなりましたわ。孤独は伊集院で回避。
※ 走行中画面みるのは危険なのでほどほどに。

走行結果。
トレーニング at EveryTrail

Map created by EveryTrail: Share and Plan your Trips

夜中の都筑中央公園は怖かったのでちょっと進入して戻った。
マップのおかげで迷わず走れたお。

Tuesday, August 4, 2009

iPhone用拡張バッテリ

というわけでございまして。

チャリで遠乗りするにあたり、iPhoneをナビおよびGPSロガーとして活用するにはバッテリーがもたないと聞いていましたので、
外部電源としてPanasonicのEVOLTA Pocket Powerなるものを購入しました。
単三型NiH充電電池をUSB出力するってーものです。

eneloopにも類似品があるんすが、ケーブルの取り回しととか筐体サイズの点からEVOLTAを選びました。
eneloopのほうはちょっとでかい上にケーブルを収納できないんですね。


eneloopいれても動作します。一応、Apple純正USBケーブルで確認。
※追記: BUFFALOの巻取ケーブルでも使えた


こんな感じにケーブルを収納できますが、充電用USBケーブルは非常に短いので注意。
カバー裏には携帯用(SBM/DoCoMo)のケーブル。


なかなかコンパクト。

ちなみに、au向けとdocomo/SBM向けの2種類あるんですが、付属の携帯ケーブルが違うようで、USB経由で充電するならどっちでもよさそう。

充電はUSBから行いますが、AC<->USB変換機をはさんで家庭用コンセントから充電もできます。


電源としての性能は後ほどのサイクリングで試したい。