iPhoneのファクトリー・イメージ 4.x

久々のファクトリー探訪、今回はiOS 4.1のファクトリー・イメージ。手順はこんな感じ。

  • ipswファイルを複製する。ipswファイルは~/Library/iTunes/iPhone Software Updatesにある(~はユーザ・フォルダのこと)。ipswファイルの名前はココを参照。例えば、iPhone 4のiOS 4.1用のipswファイルは「iPhone3,1_4.1_8B117_Restore.ipsw」
  • 複製したipswファイルの拡張子.ipswを.zipに変える。
  • zipファイルをダブル・クリックして解凍する。
  • 解凍したフォルダには複数のdmgファイルがあるが、ファイル・サイズが最も大きなものが目的とするルート・ファイルシステムのdmgファイル。iPhone 4用のiOS 4.1であれば「018-7063-114.dmg」。
  • DMG Decrypterを起動する。
  • ルート・ファイルシステムのdmgファイルをドラッグし、DMG Decryperの「Drag .Dmg Into Here」にドロップ。
  • DMG Decryperの「Input Firmware Key Here」にキーを入力する。キーはデバイスの画像をクリックすれば表示されるので、それを選択してドラッグ&ドロップする。あるいはココからも調べることができる。例えば、iPhone 4のiOS 4.1用のキーは「2ab6aea67470994ec3453791ac75f6497c081edd1991e560a61dd666ac4b73f43c781739」。
  • 「Click To Decryot」ボタンをクリックする。暗号解除されたdmgファイルが作成される。

dmg_decrypter

  • 暗号解除されたdmgファイルをダブル・クリックする。例えば、iPhone 4のiOS 4.1用のdmgファイルであれば「Baker8B117.N90OS」という仮想ディスクがマウントされる。
  • 仮想ディスクの中から拡張子がpngであるファイルを検索する。iPhone 4のiOS 4.1の場合、パッケージ内も検索すると5,120個見つかる。パッケージ内を検索しない場合は2,048個。検索にはEasyFindPathFinderといったユーティリティが便利。
  • 検索されたpngファイルを別のフォルダにコピーする。
  • コピーしたpngファイルをiPhonePNGiPhonePNGAppなどでデコードする。

結果的には4,979個のpngファイルが得られました。一部の@2xのpngファイルはエンコード方式が変わったのか、デコードに失敗しているみたいです(新しいデコーダってある?)。ともあれ、思いがけない画像があったりして、楽しいですよ。iOSや標準アプリケーションのGUIパーツは研究価値大だし、絵文字なども楽しいですね。

factory-images-4_s

ビルドを片付けるワークフロー

Xcodeではプロジェクトごとのbuildフォルダに作業用の中間ファイルが保存されます。これは2回目以降のビルドを高速化するなどお役立ちファイル群なのですが、自動的に消去されるわけではないので、サンプルコードを試しただけでも残ってしまう。このフォルダはそれなりの容量を占めるので、塵も積もれば山となっちゃいます。

そこで、こんなAutomatorワークフローを作ってみました。すべてのbuildフォルダを探してゴミ箱に入れるというもの。ワークフロー自体は簡単ですけど、実行してみてビックリ。なんと全buildフォルダを集めると1GBを超えていました。馬鹿になりませんね。

trashbuild_s

当然のことながら、ゴミ箱を空にする前には内容の確認が必要ですよ。たまたまフォルダ名がbuildだった重要なファイルまで消去しちゃわないようにね。ちょっとした小ネタでした。

Mobilizingはこんな雰囲気

先日のVSMM2010Mobilizingのワークショップを行なってきました。MobilizingはパリのFdMで開発が始まり、最近はIAMASも協力しているiOS用の新しいプログラミング言語です。僅か2時間半ほどのワークショップだったので、Mobilizingの紹介と体験くらいしかできなかったものの、それでもプログラミングが苦手と言う学生さんも変なアプリを作っていました。

mobilizing-workshop-vsmm

Mobilizingの特徴は、ずばり、ビギナー&アーティスト向けの超簡単言語ってことですね。どれくらい簡単かと言うとこんな感じ。

// IDの宣言
int ship = 0;

// 初期設定
void setup()
{
// 船を作る
ship = triangle(0,0, 30, 100, -30, 100);
}

// 処理更新
void update()
{
// 船を動かす
float x = AccX * 10.0 + getPositionX(ship);
float y = -AccY * 10.0 + getPositionY(ship);
setPosition(ship, x, y);

// 船の向きを変える
setRotation(ship, AccGravityY);

// タッチされるとその位置に船を動かす
if (TouchCount > 0)
setPosition(ship, TouchX1, TouchY1);
}

これだけ(主要コードは8行だけ)で、iPhoneを傾けると船に見立てた三角形がスルスルと動いて行きます。船先はちゃんと進行方向を向くし、画面からはみだした時はタッチで呼び戻せます。Objective-CとCocoa Touchに格闘している人からすれば、有り得ないくらいで、笑うしかないですね。Processingをさらに簡易にしたような感じかな。

mobilizing-accelerometer

MobilizingはC言語風のスクリプトを書いて、パーサ(インタプリタ)込みでビルドしてiOSアプリを作っちゃいます。つまり、通常のXCode+iOS SDKを使うので、シミュレータでもデバイスでも動作して、App Storeにも出すことができるという優れモノ。ただし、機能は限定されいて、洗練されていない部分もあります。まだベータ版の段階で鋭意改善中ってワケで、いずれオープソースのフリーウェアとしてリリースされる予定です。

今回はヨーロッパ圏外では初のワークショップで、特にアート系の人からは驚嘆かつ大好評をいただきました。より深く行なって欲しいとのオファーもいくつかあって、さっそく来月に3日間のワークショップを開催することに。こちらがビックリするくらい反応が早いですね〜

【追記】いくつかお問い合わせをいただきましたが、現時点では公開時期は決まっておりません。せめて、と言うことで、ワークショップでのスライド(PDF)を公開します。現在実装されている機能の概要(10ページ目)なども載っています。

mobilizing-vsmm-slides

MacBook Air 11″

新型MacBook Air 11″で印象的なのは、その筐体とともにフラッシュ・ストレージの高速さ。なにしろ、MacBook Pro 15″/SSDよりも遥かに起動が早い。実測でMBP15が20秒なのに対して、MBA11は15秒しかかからない。僅か5秒の差とは言え、両方を並べていると随分とMBP15がノロマに思えちゃう。

でも、本当はどうなんだろうと思って、Xbenchしたのが以下の結果。ディスク自体はMBP15のAppleSSDのほうが速いですね。電源を投入した時点でMBP15は光学ディスク・ドライブがググっと動いたりして、スタートダッシュに足を引っ張られているような印象があります。

mba_mbp_xbench_graph

mba_mbp_xbench_s

ちなみに、総合スコアでもMBP15が293.53で、MBA11の134.59に比べて2倍以上の好成績。まぁ、価格的には4倍近いので、それで劣っちゃうようなら号泣ものですが(笑)。

両者のスペックは以下の通りです。
MacBook Pro 15″ / Core i7 2.66GHz / 8GB RAM / 512GB SSD
MacBook Air 11″ / Core 2 Duo 1.6GHz / 4GB RAM / 128GB Flash Storage

Dockコネクタ接続時のデバッグ

VGAアダプタなどDockコネクタを使用するアプリケーションを開発する場合は、そのデバッグがとっても面倒です。何故って、XcodeのデバッガはDockコネクタに接続するUSBケーブル経由で情報を遣り取りするから。つまり、Dockコネクタは別のデバイスに使われているので、デバッガが使えなくなるわけです(涙)。

そこで便利なのが、Kensingtonの4-in-1 Car Charger for iPodってアダプタ。本来は自動車のシガーソケットから電源を取るためにUSBケーブルが備わっていると同時に、別のDockデバイスを使うためにメスのDockコネクタが備わっているという逸品。

kensington-k33368

この手のアダプタは一部手抜きだったりしますが、この製品は全ピン配線されているらしく、VGAアダプタを繋いで外部ディスプレイに映像出力しながら、デバッガを動かすことができました。これでビルド&実行のたびにケーブルを替えたり、実行中にデバッグ作業ができない苦痛から解放されます。

kensington-adapter-for-debug

VGAアダプタ以外にも、Dockアダプタを使用する外部アクセサリー用のアプリケーション開発にも使えるハズね。対応製品としてはiPodやiPod nanoしか記載されていないものの、iPadでもiPhone 4でもバッチリでした。

ただし、これは古い製品らしく、今では入手困難みたい。もしどこかで見つけたら即ゲットですよ。いずれ、Xcodeもワイヤレス・デバッグに対応すると思いますが、それまではこのアダプタが欠かせません。

10/23はソウルで講演

VSMM2010の最終日にあたる10/23には「The Reality Between Us – The First Step Towards One Billion of Sounds and Lights」と題して講演を行います。サブ・タイトルから想像されるかもしれませんが、先月展示していたOkeanos Buoysを中心に、集合的な表現の可能性としてのモバイル・アートについて考えてみようと思っています。

vsmm2010

Lecture “The Reality Between Us
Date: October 23rd, 2010
Time: 10:20 – 11:00
Place: COEX, Seoul, Korea

ところで、今回のVSMM2010はジェフリー・ショウさん、広瀬通孝さん、歴本純一さんなど、アート界、VR界、AR界のビッグ・タレント(才能)が大集結なんですよね。なんだかプレッシャーな感じ(笑)。

10/20はソウルでワークショップ

10/20は韓国ソウルで開催される国際学術会議VSMM2010(Virtual System and Multimedia 2010)でMobilizingによるワークショップを行います。近くにお住まいの方、会議に参加される方は、ぜひ遊びに来てくださいね。

このMobilizingはiOS用の新しいプログラミング言語(?)でアーティスト向きに可能な限り簡単に開発ができることが目指されています。逆に言うと、機能的には絞り込まれていて何でもできるわけではありませんけどね。まだまだ発展途上ですが、近い将来にオープンソース・フリーウェアとして公開が予定されています。

mobilizing

Mobilizing Hands-On Workshop
Date: October 20th, 2010
Time: 9:10 – 12:00
Place: COEX, Seoul, Korea

ちなみに、MobilizingはパリのFdMで開発が始まり、最近では日本からも参加しています。昨年4月に日仏アート・アライアンスを作ろうと話していたのが、こんな形で動き始めている次第です。

また、FdMのボスであるジャン=ルイ・ボワシエさんの公開講座が10/23にあります。私は渡航中で参加できないのですが、興味のある方は参加されてはどうでしょうか?

ジャン=ルイ・ボワシエ公開講座「モバイルスクリーン」
日時:2010年10月23日(土)13:10〜
会場:名古屋芸術大学 西キャンパスB棟2F大講義室

【追記】諸事情によりボワシエ氏の来日が中止になり、代わりに同氏の映像資料の上映や研究者による解説が行なわれるそうです。

NOOKで個人出版(途上)

NOOKはUS最大の書店チェーンであるBarnes & Nobleが開発&販売中の電子書籍リーダ。なんとなくオシャレな雰囲気ながら、E-InkとLCDの合わせ技やAndroidベースなど一筋縄ではいかない、ちょっと気になる存在。

そのNOOKというかBarnes & Nobleが最近始めたPubIt!なるオンライン・サービスでは、アグリゲータなしに個人出版が可能になりました。これは朗報!なのですが、結論を先に書いておくと「簡単っぽいが日本からは難関もあり」と言うのが現状のようです。

pubit

PubIt!を利用するには、まず同サイトにログイン。これはNOOK購入時のBarnes & Nobleのアカウントがそのまま使えましたが、新しくアカウントを作ってもいいですね。次いでコンタクト情報や出版者情報を登録して、契約条項に合意と続きます。ここまでは快調。

しかし支払情報を登録するところで私は沈没。US納税者ID(SSN/ITIN/EIN)だけでなく、USでの銀行口座やクレジット・カードが必要なのでした。現住所はUS国外でもOKなんだけど、口座等がUSオンリーってのはイマイチですね。某シティバンクにUS口座開設をお願いしてみたけど、いろいろと挙証資料が必要だそうで、簡単には作ってくれません。

もうひとつの問題は、NOOKでの日本語書籍の作成です。NOOKはePubをサポートしている(それがメイン?)けど、iBooks用に制作した「aのかたち」をそのまま転送すると本文が文字化けてしまいます。日本語テキストはEUCでという情報もありますが、今のところ正しい表示に成功していません(【追記】参照)。

nook-epub-japanese

ちなみに、NOOKでは日本語PDFは問題なく表示されます。でもPDFじゃね〜ってことになってます(笑)。またNOOKはデバイスだけでなく、iPhone、iPad、Android、PC用のリーダ・アプリケーションもあります(Mac用はないみたい【追記】参照)。ただ、iPadなどでは自分で作成したePubを転送することはできないのでプレビュー用途には使えません。

と言う訳で、まだまだ課題があるのですが、NOOKでの日本語ePubの表示やPubIt!での日本からの出版に成功した方は、ぜひ情報をくださいませ〜(懇願)。取り敢えず、B&Nには要望を送っておきます。

【追記】Mac用のNOOKアプリケーションはまだないようですが、Barnes & Noble eReaderNOOKstudyというアプリケーションが提供されていました。

【追記】北川さんからコメントをいただき、NOOKで日本語表示ができるようになりました。

nook-japanese

その手順を再掲させていただきます。

1. calibreでePubファイルを開き、その本を選択する。
2. 「本の変換」ボタンをクリックし、「外観」の設定を選ぶ。
3. 「Extra CSS」欄に「Asian Languages」(nookdev.com)のCSSコードをコピー&ペーストする。
4. OKボタンをクリックして、ePub ファイルを変換する。

オケアノスにブイは放たれたか?

展覧会INDAF2010での「Okeanos Buoys」の展示もあと1日で終わり。会場ではお子様攻撃で展示物(iPhone)が落下したとか、会期後半になって「Okeanos」アプリケーションがApp Storeで公開になったとか、必ずしも完璧ではなかったですが、個人的には意義深い展示になりました。なんとなくの雰囲気はムービーで伝わるかな?

この作品の意図の一部はWebマガジンAMeeTに掲載された「オケアノスにブイを放って」なるコラムに書きました。私の場合、作品そのものと同時に作品のプラットフォームを作っているようなところがあるので、そのプラットフォーム上に更なる展開をしたいと思ってます。いつかまた展示の機会があるといいですね。

okeanos-ameet

9/24はDCC一周年記念イベント

早いものでオープニングから1年(以上)が経過したDREAMCORE COLLECTIVEが、9/24に一周年記念イベントを行います。おかげさまで随分と盛況であったiPhone塾やモバイルカフェなどの一年間の動向を振り返りながら、2年目を考える機会になろうかと思います。

イベントのメインゲストはQuartz Composer本や未来派図画工作などの活動で著名な鹿野護さん。映像インスタレーション、iPhoneおよびiPad用のアプリケーションと3点もの作品による特別展示があります。トークセッションにもご参加いただくので、制作の過程や思考の源泉にも触れていただけそう。

また、2年目どころではない10年後の2020年のモバイルライフを考えるアイディア・コンテストの表彰式もあります。副賞の5台のiPadに輝くアイディアが注目されますが、他にもサプライズがあるようなので、応募された方は来場が吉かも。ちなみに審査がタイヘンなくらい沢山の応募をいただいています。多謝。

岐阜おおがきビエンナーレMake: Ogaki Meetingが同時開催されていますので、合わせてご参加いただけると幸いです。さらに、参加者全員にオリジナルiPhoneスタンドがプレゼントされるそうなので、お早めの参加申込を!

dcc1stanniversaryevent

DREAMCORE COLLECTIVE1周年記念イベント

 日時:2010年9月24日(金)17:00〜20:30
 会場:ドリームコア1F、2F 【アクセス】
入場料:無料(交流会は有料)参加申込が必要です。