iOS5.0.0電池バグはGPSとGEOタグ?!
最近iPhone4Sを買ったフレンドさん(女性)から「BlogWriterで写真入れると落ちない?」という話から、いろいろやってみたところ、ひとつのハッキリした挙動を確認しました。
ずばりGPSとGEOタグのトラブル
GPSは位置情報測定サービスで、マピオンやヤフー地図サービスそしてグーグルマップなどでおなじみですが、GEOタグとは写真やアプリに含まれる位置情報記録データのことです。よくケータイで写真を撮ったら、撮影した場所がバレタ!?っていう話も、このGEOタグによる情報によるものです。しかし、ここにバグがある?というのがiOS5の電池問題に至るまでの大きなトラブルに発展しているようなのです。
GEOタグを絡んだアプリ(ブログライター、WP、iBlogger、GPS全種類、グーグルマップ、などなど)を起動した状態でいわゆるバックグランドに放置したままにすると、常時稼動している状態にプロセスが動くことがある。
この、「ことがある」がクセモノで、なんかの拍子で「こともない」こともある。
いちおう、検証した機種はiPhone4,iPhone4S,iPad2 GSMの3つです。すべてiOS5での共通トラブルで、最近問題となっている電池切れ問題にも、なんだかかなり大きく関係しているような挙動です。(改善策も!?)
手動で確実に停止する方法は、いまのところ自分なりの発見では以下の3つの手順を行う。 実はこれで電池問題いわゆるプロセスだだ漏れも防止になる感じ。つまり電池のモチがけっこう良くなる。
1、まず機内モードをONにする。
2、次に位置情報サービスをOFFにしてからONにする。
3、機内モードをOFFにして通常の状態にする。
ちなみにこれでGPS(GEOタグ)のバグと思われるGPS関連アプリのコアとなっているLocationd(ロケーションデーモン)のバグを抑止・リセットできるので、電池のモチもよくなり、そしてブログアプリの一部の機能も復活することまでは、自力でなんとか解明できました。(仮脱獄iOS5のプリザーブド化でごちゃごちゃ解析)
locationdは常にBBベースバンドがチェックトリガーで用いられ、ベースバンドはモデムファームと連動していて、モデムはずばり3GやCDMAのキャリア認証(通話)にも密接に関係しているので、機内モードをONにすることでモデムがリセットされ、連動してBBユニットがリセットされ、locationdがリセットされる、という仕組み。普通にiPhone3GSでBBアップグレードしていないモデルで位置情報サービスが狂ったときにも、やはり機内モードON/OFFだけでリセットがかかるのも、こうしてモデムのリセットによってlocariondをリセットしているというわけ。実は今に始まった暴走劇ではなかったわけですね。しかも、いまウワサになっているiPhone4Sは、iPhone3Gと比べて数十倍以上もCPUがキュンキュン動くから、ちょっとした暴走が「ちょ〜高速な暴走スピード」になるから、超〜〜〜電池がゲキベリする、ということなんですね。今までにもiPhone3Gで位置情報サービスが狂うと電池の減りがいくらか早まる、というのは確認済みでしたが、ツインCPUでバリバリ動くiPhone4Sにとっては、このバグスピードが高速すぎて電池減りも高速という悲劇だったようです・・・ とりあえず、この手順で無事にリセットできるようになったのでメデタシメデタシなんですが・・・
ただね・・・またGEO絡みのアプリを起動すると、ロケーションデーモンがまた「暴走」するんですよ。(カメラとかアルバムとかもGEO絡み・・・うは〜〜〜っ)
つまりカメラを使えば位置情報が記録され、位置情報を記録しない、に設定していても、位置情報が無い、というGEOが記録されるので同じことで・・・・、アルバムも撮影地というGEOタグ絡みなので、めぐりめぐってGEO絡みでカメラでも電池がスグ切れる。まあ、カメラでもアルバムでもGPS絡みのアプリを起動したら、また上記の手順をすれば暴走を停止することができますが、ちょーーーーーーーーめんどくさい。ホームボタン2度押しで、常駐メモリーから、GPSアプリのバックグランドを削除しても、トラブルの問題はlocationdなのでベースバンドユニットとの内部の絡みでデーモンが回るプロセスなので、常駐メモリーからアプリの領域を削除するだけでは何も改善しないという・・・・
ちなみに、iGlalleryというアプリが実はGPS絡みのアプリですが、アップロードでアルバムを選択するときに、本体の設定での位置情報サービスのGPSをONにしたときと、OFFにしたときで、アルバムの選択画面に大きな違いが現れます。GEOタグの解析バグがアルバムの選択でGEOタグデータベースのバグに触れている写真だけ除外されたり、またはGEOタグに触れた瞬間にアプリが落ちる、といった挙動になります。
その他、iBloggerやWPまたBlogWriterそしてBlogPostなどでは「写真を選ぶと落ちる」という問題が出ます。これもGPSつまり写真の位置情報であるGEOタグにひっかかるとアプリが落ちて、GEOタグのイベントトリガーによって意味も無くLocationd(ロケーションデーモン)が暴走しはじめる、という挙動になりますね。なので、GPSを本体側の設定で位置情報をすべて停止した状態で、写真を「カメラで撮影」でブログ記事に選択すると、バッチリ成功できちゃうわけです。
本体設定>位置情報停止>BlogWriter>写真アタッチ>カメラ撮影>成功!
GEOタグに触れないように迂回すれば良い!つまりこういうことです。
なんでGEOタグに触れる挙動が無駄にロケーションデーモンの暴走を誘発しているのかは謎ですが、GEOタグの多くは位置情報からLocationdを呼び出してグーグルマップなどで地図を示す挙動をすばやく行っていますから、そこでGEOタグ解析の失敗に対するルーチンが正しくプログラムされていないために、呼び出す必要のないLocationdをイベントドリブンして起動したままGEOアクセスが自己崩壊(バグ)して、ロケーション位置情報が回りっぱなし(暴走)し、コツコツと電池を減らしていく、っていうような挙動が考えられます。

ちなみにBaseBand06.15.00の3GSでおなじみGPS破壊(サテライト故障)がありますが、そのときにバイナリ移植で実験してたときに発見しましたが、iPhone3GのiOS4.3.3のLocationdを移植して使うこともできましたね。だからといって3GSのサテライトGPSが元に戻るわけではありませんが、移植してもバグらずにlocatindが稼動できたのは覚えています。
もっとも、locationdが単独で暴走している風ではなく、GEOタグの読み取りユニットのデータベース取得のトラブルがlocationdに悪さをしているような挙動に思えます。つまり犯人はGEOタグ管轄ユニット! カメラの写真もアルバムも実はGEOタグ(位置情報タグ)に関係があるので、カメラでバシバシ撮影したりすると、あっという間に電池キレになるというケースも、GEOタグの読み取りバグが大きく関係してるような感じです。
fig1
GEOタグ>データベース管理(ここにバグ)>locationd(挙動不振なコール)>GEO関連アプリ落ち
fig2
カメラ>撮影(位置情報記録)>アルバム閲覧>GEOデータベース(バグ発生)>locationd暴走
locationdは常にBBベースバンドユニットとペアで挙動するので、もしかしたらBBチップがバグっている?なんてことも考えられるのかも知れませんね。もっともiOS4.3.5では問題なかった電池問題(=仮GPS暴走問題)がiOS5で生じたということでBBチップのバグは否定されるかと思いきや、そんなことはなくて、iOS5がたまたま自分でBBチップに対してバグ(穴)をコールしてしまっていて一連のトラブルが生じているという説は、旧OS4で問題なかったからといってハードに問題がないとは断定できないわけです。
BBチップも交換すれば直るわけですし、またBBのセキュリティホールはiPhoen3GSでの完全脱獄によく利用される手段でもありますから、なんだかそこらへんに謎が隠されている感じですよね。
あとは、アルバムのデータベース構造が大きく変化しているようで、アルバム投稿ツール系で従来のアルバムがコールできずに落ちるケースもあり、アルバムはGEOとも連動しているので、そこにもなにかバグのヒミツがありそうですね。iGalleryや似たような写真アップローダーツールで、iPhoneで撮影したアルバムを選択したときに、従来はフォルダーにわけたアルバムをフォルダー単位で個別に選べたものが、今はフォルダー分類が無効となり、ナチュラルソートされた全写真がドーンと出てきて、そこから選ぶ感じになってます。しかも、選ぶとアプリが落ちる・・・・撮影した写真の位置情報の記録の有無にかかわらず落ちる。(というか位置情報を保存しない、って選んでもダミーの位置情報になってるだけでGEOはMETAで存在してるみたいだけど・・・)やっぱりGEO位置情報データベース絡みのトラブルなのかなと・・・・
ひとまず以下のように位置情報を設定して、GEOタグ系アプリ(通常のカメラ機能とアルバムもGEO関係ありますよ!)を使ったら、上記の3つの手順でリセットをしてみてください。電池のモチが改善したフレンドさんも何人がおられるので、あなたのiPhone4SやiPad2でも効果が出るといいですね。

もっとも初期不良で電池のバラつき問題もありますから、この方法だけでは「バッチリ直るわけではない」と思いますので、あくまでも参考程度にしてくださいね。でも、電池問題やGEOタグアプリ(ブログ投稿アプリ)の写真添付トラブルが直れば嬉しいですよね♪
もっと興味がある方、もっとお話しを聞きたい方は、以下の無料SNSコミュニティに遊びにきてね♪
iPhoneユーザーコミュニティ みんなで盛り上がろう♪
http://communes.jp/sns/?cid=45
世界一ちいさなSNSコミュニティ♪ 安心でほっとできるかも♪

