Mac版 Google Chrome の Local Storage の場所

JavaScriptの開発にはJetBrains WebStormとGoogle Chromeの組み合わせが最強だと信じて疑わない自分です。おかげでFireFox全然使わなくなっちゃいました。

で、今回開発環境を引っ越す必要があり、Local Storage使い回せないかなーと少し調べてみました。目的のファイルは

~/Library/Application\ Support/Google/Chrome/Default/Local\ Storage/ 

にあります。Local Storageを生成したサイトのURL毎に作成されているのですぐ分かると思います。

ShareMarker 1.00 リリースしました

今月半ばに申請を出していたiPhoneアプリ「ShareMarker」がようやく受理されました。

ShareMarker
カテゴリ: SNS
価格: 無料 App

実際にアプリを申請された方のブログなどを拝見していますと、通常アプリケーションをiTunes Connectに送信してからレビュー開始までに1週間程度待たされるものの、実際にレビューが始まると約1日くらいで結果が分かると書いてあったのですが、ShareMarkerの場合、レビュー開始までに1週間、その後レビュー完了までさらに2週間を要しました。最初だから時間がかかったのか、画面遷移が多いのでレビューに時間がかかったのかは不明ですが、ここまで2週間ずっとモヤモヤしていたのでとりあえずホッとしたというのが正直な感想です。

せっかくなので、アプリの宣伝をちょこっとだけ。

ShareMarkerは自分だけが知っている(はず)お気に入りの場所を共有するサービスです。
気に入った場所・お店を見つけたら、写真を撮って、コメントを書いて、地図上に貼り付けることで友人達と情報を共有することができます。

こうしたサービスは、例えば大手サイトなどでも似たようなものを見かけたりしますが、個人的な狙いとしてはもう少しローカルな、地元の人たちが気軽に訪れる場所とかお店をメインに集めていきたいと考えています。

現在は札幌市内、特にすすきの周辺(笑)のお店情報が充実しているわけですが、狙いがローカルなのでこんな感じになります。こういう小さな輪が、全国あちこちに広がればいいなと考えています。

久しぶりに帰省した友人連れて飲みに行くときに「あの店どこだっけな」的な使い方をしてもらったり、友人が旅行先で投稿したマーカーを見て「へえ、素敵な場所だな」と興味を持ってもらえたら最高ですね。

アプリ的には機能に関してまだまだ不親切な部分があるのと、友人間での情報共有の手段をもっと充実させないといかんなあと思っています。
使ってみての感想・要望などあればコメントお願いします。

AppStore経由でのXcode 4.2アップデートにハマる

Xcode4から、入手先がAppStore経由でのダウンロード方式に変わったわけですが、これで見事にハマりました。
正確にはXcodeではなくAppStoreなんですが。

Xcode4.2にアップデートしようとしたものの、1.8GBもあるファイルを一気に落としきれず、一旦中断。
ダウンロード途中のファイルは一時フォルダに格納されてレジューム状態に入るため、再開すれば中断した状態からダウンロードが再開される・・・はずだったんですが、これがいつまでたっても再開しないのです。

AppStoreを立ち上げ直したり、アカウントをサインアウト&サインインしてみても効果なし。
AppStoreのメニューには[Store]→[ダウンロードが完了していない項目があるか確認…]という、いかにもそれらしい項目は存在するのですが、こちらをクリックしても「全てダウンロードされています」と表示されるだけ。

諦めてXcode4.1で開発続けようとも思いましたが、残っている作業はiOS5での実機テストだったので、SDKがないことにはインストールもできません。ほとほと困ってしまいました。

で、ひょっとしたらレジューム状態の一時ファイル消しちゃえばいいんじゃない?と思いついたわけです。

結果的にこれがアタリだったわけですが、まず一時ファイルの格納先がわからず調査。
するとAppStoreにデバッグモードなんてナイスなモードが存在することが分かりました

Where does the Mac AppStore download temp files to
http://www.ryanragle.com/index.php?/site/comments/where-does-the-mac-app-store-download-temp-files-to

具体的には、ターミナル上から「defaults write com.apple.appstore ShowDebugMenu -bool true」と叩いてからAppStoreを立ち上げると、メニュー最後尾に「Debug」が追加されます。ここから「Show Download Folder…」を選択すると、ファイルの格納先が表示されます。私の環境では「/private/var/folders/0s/[英数字の羅列]/C」というパスでしたが、このあたりは環境によって異なってくるかと思われます。

で、そのフォルダ直下にあった「com.apple.Xcode.501」フォルダをまるっとゴミ箱へ放り込み、AppStoreを起動します。
すると「アップデート」のアイコンに「①」というバッジが表示されており、クリックするとXcodeがダウンロード開始をゼロの状態で待ち受けていてめでたしめでたし、というわけでした。

ちなみにインストール完了後、自動的にXcodeが4.2にアップデートされるわけではなくて、アプリケーションフォルダにある「Install Xcode.app」を起動することでXcode 4.2への更新が始まります。なんで?って感じなんですけどね。恐らくはAppStoreのレジューム機能を活用したかったのではないかと邪推するわけですが、それにしても直感的でないですよね。アップルらしくないというか。

iPhoneのファームウェア置き場

iPhoneアプリを開発していると、様々な実機でかつ様々なOSバージョンでテストする必要に迫られるわけですが、肝心のOSファームウェアをAppleが公開していません。

iTunes経由でファームウェアの復元を行う場合、Windows環境であればctrlを、Mac環境であればoptionを押しながら「復元」ボタンを押せば、復元対象となるファームウェア(.ipswファイル)を指定できるわけですが、ローカルに保存されるファームウェアは最新のイメージを除いて全て削除されてしまう(少なくともMac環境では)ため、毎回アップデートをかける前に1世代前のファームウェアを別のフォルダにコピーする、という作業を怠ってしまうと取り返しの付かないことになってしまいます。

そこで必然的にグレーなROM置き場が必要になってくるわけですが、私が見つけたのはここ。
iPhone以外のアップル製品のファームウェアも置いてあります。

iPod, iPhone and iPad Firmware Download
http://www.felixbruns.de/iPod/firmware/

上記サイトはこちらのサイトを辿って見つけました。(ありがとうございます)

iPhoneOSの保存先
http://pentan.info/iphone/iphone_os.html

ちなみにMacだと、iTunes経由でローカルに保存されるファームウェアは
/Users/[ユーザ名]/Library/iTunes/iPhone Software Updates
に格納されているのですが、OS X 10.7 Lionでは隠しフォルダ扱いになってしまい、Finder上に表示されません。
常に表示状態にする
にはターミナル上から「chflags nohidden ~/Library/」と叩くと見えるようになります。
非表示状態に戻すには「chflags hidden ~/Library/」です。

参考サイト:
OS X 10.7 Lion で隠しフォルダになったライブラリを常に表示させる方法
http://tukaikta.blog135.fc2.com/blog-entry-166.html

Acer Iconia Tab A500でandroid 3.2が降ってきた

私が所有しているのは北米版Iconia Tab A500ですが、最近になってAndroid 3.2へのシステムアップデートがOTA降ってくるようになりました。

Acerの公式サイトでソースコードが公開された日付が10月4日となっていますが、こちらのフォーラムでは9月28日時点で話題に上っていたので、ちょうど2週間前くらいから始まっていたみたいです。

更新ファイルの大きさは357.06MB、バージョンは7.006.01となっています。
ちなみに現在のシステムバージョンが4.010.13です。Android 3.1での最新バージョンは4.010.40のはずなんですが、なぜいきなり3つもメジャーバージョン上がるのかは謎です。

あとroot取得済みの場合はOTA降ってこないから一旦unrootしましょう、という記事も見かけるんですが、当方では問題なく降ってきているんですよね。インストール時に失敗する、という意味なんでしょうか。

あと、前述のサイトも含め、いくつかのサイトで3.2へアップデート後にrootが取れなくなるという報告が挙がっているので、そういった使い方(どういった使い方だ)をされている方は注意されたほうがいいかもです。

とりえあず人柱覚悟で何度かアップデートを試みているのですが、回線品質が悪いのか全然速度が出なくて、未だにダウンロード完了しません。(涙) ダウンロード完了後にまた報告いたします。

追記(2011/11/02 11:15)

android 3.2にアップデートしてみました。
現時点では体感できるような変化はありません。むしろGPSが衛星を補足できなくなってしまいました。
ハードウェアリセットをしてもダメ。端末固有の問題?
前述のように3.2でrootを取得する方法が見つかっていないので、gps.confを直接編集することもできないため、現時点ではお手上げ状態です。
root取れたらまた再チャレンジします。

追記その2(2011/11/02 13:10)

GPS Statusを起動した状態で、ベランダに約5分放置しておいたら位置情報が取れました(笑)
以前よりさらに測位に時間がかかってるようですが。うーん。

twitterがtestdbにアクセスしようとする

Twitterはもっぱらスマートフォンからの利用が多いわけですが、久しぶりにMac上でSafariからアクセスするとこんなメッセージが。

Webサイト”http://twitter.com”は、お使いのディスクに”testdb”をデータベースとして使用するために1MBのディスク領域を必要としています

なんじゃこりゃって感じですよね。testdbという名前が既になんとも。
とりあえず「許可しない」を選択してちょっと調べてみました。

どうやらSafari3で実装された「Client-side database storage」という機能を使って、ローカルストレージ(パソコン)にSQLiteデータベースを作成し、何かを書き込もうとしているようです。

Safari 3.1 に実装された「Client-side database storage (SQL API)」とは何か?(参考元)
http://d.hatena.ne.jp/amachang/20080327/1206607704

何を書き込もうとしているのか、非常に気になりますよね?
というわけで実際に試してみました。

Safariは[環境設定]->[詳細]メニューから[メニューバーに”開発”メニューを表示]を選択することで、様々な開発ツールを使うことができるようになります。

その後[開発]->[Webインスペクタを表示]を選択すると、現在表示されているページの様々な情報を取得することができます。Safari版FireBugといった感じでしょうか。

再度Twitterのトップページにアクセスし、前述のメッセージが表示されたら「許可する」を選択した後、Webインスペクタを開き、「リソース」と書かれたアイコンをクリックします。すると左のペインの「データベース」という項目の下に問題の[testdb]が表示されました

結果は・・・空っぽのDBが作成されただけ。
ログイン/ログアウトを繰り返したり、つぶやきを投稿してみましたが変化はありません。
実験的な機能なんでしょうか?
しかしそのままリリースしてしまうというのも乱暴な気がします。うーん。
ちょっと様子を見ることにします。

ちなみにSafariではSafariは[環境設定]->[プライバシー]メニューから、Cookieやローカルに作成された DBを削除することができます。ご参考まで。

Google Nexus SのオリジナルROM置き場

Nexus S をオークションにて購入したものの、既にカスタムロム導入済みの品でした。
検証端末として使用したいのでオリジナルロムに戻したいのですが、バックアップデータは見事に消されていた(そもそも取ってない?)ため、ちょっと困っていたところ、オリジナルROMを置いて下さっている素敵なフォーラムを発見しました。

[REF] Links for ALL Nexus S OTA Updates for ALL Variants, Plus Full ROM Packages
http://forum.xda-developers.com/showthread.php?t=1063664

Google公式サイトではないので、データの可用性も整合性も一切保証されていません。
なので利用は自己責任となるわけですが、とにかく助かりました。

F-12CはUSBアクセサリモード非対応

某掲示板でも人気のdocomoの新機種、富士通のF-12C
国産スマートフォンでいち早くAndroid 2.3.4を搭載しています。

Android 2.3.4といえば、USBアクセサリモードに対応したOSです。
つい先日Android 3.1を搭載したIconia Tab A500がUBBモードに見事に対応していない事実が発覚して、いやがおうにも期待は高まるばかり。
早速ドコモに問い合わせてみました。

いつもドコモをご愛顧いただきまして誠にありがとうございます。
メール受付担当の○○と申します。

お客様からお問い合わせいただきました「F-12C」の
ご質問について、ご回答申し上げます。

■USBアクセサリモードについて

恐れ入りますが、お客様のご認識のとおり、
F-12Cは、AndroidOS 2.3.4を搭載しておりますが、
USBアクセサリモードには非対応となります。

ご期待に添えない回答となり大変申し訳ございません。

なお、このたび、お客様からお寄せいただきましたご質問につきましては、
貴重なご意見として真摯に受け止め、担当部門へ報告のうえ、
今後の製品開発やサービス提供の参考とさせていただきます。

このたびはお忙しい中お問い合わせいただき、ありがとうございました。
また、何かご不明な点がございましたら、お気軽にお問い合わせください。

今後ともドコモをご愛顧賜りますようお願い申し上げます。

やっぱりそうですか・・・ orz

いや、別に話題の機能でも何でもないので、ある意味納得しています。(悲しいですが)
しかしなんといいますか、巷でのAndroid Open Accessoryの盛り下がりっぷりを鑑みると、いろんな意味で心配になるんです。まさかこのまま「いなかった子」扱いされたりしないですよね?Googleさん?(笑)

Iconia Tab A500 は Accessory Mode に未対応

最近Acer Iconia Tab A500に関する残念なお知らせばかりしている気がしますが。
頑張って下さいAcerさん。

Does the Acer Iconia Tab A500 support Accessory mode?
(http://stackoverflow.com/questions/6863555/does-the-acer-iconia-tab-a500-support-accessory-mode)

投稿者曰く、Acerから「現在は未対応。今後アップデートする予定だが、具体的な期日は未定」という公式コメントを受けたとのこと。さらに「cyngus」というGoogleの中の人が「この問題についてはAcerに働きかけ続けているのでそのうち対応されるはず」と回答しているので、確度の高い情報だと思います。

個人的にはメーカーからの「対応予定」というコメントは「対応予定=対応しないと決めたわけではない」くらいに捉えていた方がいいと思ってます。つまりは「未定」といったところなんでしょう。

ちなみにこの投稿者の方が自身のブログで語っているところによると、現状ででAccessory Modeに対応しているのは「Nexus S」「Nexus One」「Xoom」の3機種だけだとGoogle Developer DayにてGoogleがコメントしたとのこと。もしそうなると日本国内で流通しているのは「Xoom」だけですから、現時点でのADKの開発環境はかなり限定(というかXoomだけ)されてしまいます。

というか、今さらXoomを買うわけにも行かないんですが・・・

最近のAcerの対応を見る限り、Android 3.1の配信とバグフィクスだけで手一杯なんじゃないかなあと勝手に憶測しています。Accessory ModeをサポートするAndroid端末もデバイスも僅かな現時点では、優先的に対応してくれるとも思えないですし。でもタブレット2つも要らないですし。
困ったものです。

またIconia Tab A500がWiFi接続失敗するようになった

うーん、この現象また再発です。
以前の記事にも書いたとおりなのですが、今回はハードウェアリセット2連続で直りました。WiFi設定の削除は不要でした。

とりあえずWiFiに繋がらなくなったら「ハードウェアリセット×2回」が定番の作業になりそうです。
困ったものです。