代々木公園で花見


昨日の東京はとても暖かくて、桜も満開。これはもう、花見しかないでしょう!ということで、やってきました。

場所は代々木公園。うちの会社から、歩いて15分くらい。まずは朝の9時に、4月から入社した新卒の新人君に場所取りを命じる。おぉ。絵に描いたような新人の仕事だ。やがて、場所がとれた、とマップにピンを打ったメールが届く。よし、ちゃんとiPhoneアプリの会社らしいネタもできた。

12時から、みんなで移動。代々木八幡商店街で、お惣菜や飲み物を調達。焼き鳥屋さんで予約していた、おまかせ30本セットも受け取る。そして、いざ代々木公園へ!

代々木公園の南門付近が、花見ポイント。行ってみると、やってるやってる!

絶好のコンディションだけど、さすがに月曜日なので、超混雑というわけではない。人はたくさんいたけど、隣とはほどよく離れている感じ。

ご飯を並べて、飲み物も準備して、乾杯!

あとはひたすら飲み食いしました。

気持ちよかったよ!

お昼にスタートしたんだけど、その後二次会にも行ったんで、夜中までずーっと飲みっぱなし。さすがに疲れた。

HMDT花見


東京は先週の週末から、絶好の花見日和。

ということで、本日弊社は午後から花見です。会社の近くの代々木公園で花見やっとります。

とりあえず、朝の9時に、新卒の新入社員を場所取りに派遣しました。これぞ、新人らしい仕事だ。

HMDT JOURNAL Vol.007配信開始


HMDT JOURNALVol.007の配信を開始した!Vol.006の配信開始からそんなに間が空いてないけど、前回のは審査がなかなか通らなかったという事なので。週刊ペースでVol.007は配信しとります。

007は、一発目は『iOS API探訪』。今回から、Core Imageの開始だ! Core Imageは、超高機能画像処理フレームワーク。Photoshopのフィルタみたいな処理が、簡単にできちゃう。カメラアプリなら、これを使うのは必須だぜ。でも、iOSのフィルタは、OS Xに比べると結構少ないんだよね。ちょっと残念。

続いて『たのしいiPhoneプログラミング』。地図アプリをさらに拡張中。今度は、ピンを落とせるようにしてみた。地図アプリだったら、これがないとね。プログラミング的には、新規クラスを作ったり、だんだんと複雑な操作が増えてきた。

最後は『フォントとコードの話』。前回はグリフを取得したので、今回はグリフを描画する話だ。これにはCore Graphics を使うんだけど、Core Graphicsとテキスト周りは座標系の話がややっこしくてね。何も考えないでやると、文字が反転した状態で描かれて驚愕する事になる。その辺りを説明した。あと、縁取り文字の描き方なんてのもやってみた。

HMDT JOURNAL Vol.006配信開始!


HMDT JOURNAL、ようやっとVol.006の審査が通ったよ。ってことで、配信開始!

  • たのしいiPhoneプログラミング
    第6回 地図アプリを拡張しよう!
  • 新Dynamic Objective-C
    第3回 ARC(3) ARCの実現手法を知る
  • フォントとコードの話
    第2回 グリフ

『たのしいiPhoneプログラミング』は、引き続き地図アプリを。ユーザインタフェースを拡張して、 地図のタイプを衛星写真とかに変更したり、現在地にジャンプするボタンを付けたりしたよ。だいぶアプリっぽくなってきた。作業のコツは、Interface Builderをうまく使うことだ。そのあたり、丁寧に説明してみたよ。

『新Dynamic Objective-C』は、ARCの話の最後。ARCの使い方は分かったけど、実際のところ何が行われているのさ?というところに突っ込んでみた。アセンブリコードを吐き出させて、そっから探っていっているぜ。そうすると、いつもは手作業でやっていたretainやreleaseを、コンパイラがビシバシと突っ込んでくれていることが分かった。なるほどねー、納得。

『フォントとコードの話』は、グリフの話。知らないと何が何だか分からない、このグリフ。その正体は?なんでグリフを使わなきゃいけないの?そもそもどうやって使うの?という話題を取り上げた。グリフを自在に扱えるようになると、狙った文字を表示させることができるようになるから、グッと楽しくなるよ。

HMDT JOURNAL Vol.006審査まだ通らない


一週間ぶりのご無沙汰です。年度末で何が何やら。でも、どうにか今期分の請求書は全部発行し終わったよ。

で、HMDT JOURNAL Vol.006なんですけど、原稿はほぼ書き終わってるんだけど、アプリ内課金のためのAppleの審査が、まだ通っておりません。それが通れば配信できるんだけど、まだっす。

ということで、審査が通り次第の配信開始になる。前号といい、ちょっとゴタゴタして嫌だね。

ちなみにVol.006の内容は、

  • 楽しいiPhoneプラグラミング 第6回
  • 新Dynamic Objective-C 第3回
  • フォントとコードの話 第2回

でお送りしまっせ。では。

HMDT JOURNAL Vol.005配信開始!


HMDT JOURNAL、Vol.004から二週間経ってしまいましたが、いまVol.005の配信を開始しました!週刊を守れなかった、残念。先週と今週は、iPad 3rd関連で、もう何が何やらと言う感じでしたよ。

Vol.005は、こんな感じで。

  • iOS API探訪
    第5回 iCloud(5) Core Dataベースの同期
  • たのしいiPhoneプログラミング
    第5回 地図アプリを作ろう!
  • フォントとコードの話
    第1回 フォントオブジェクトと幾何学情報

記事一本目は『iOS API探訪』。iCloudの話も、5回目の今回で最終回だ。最後に取り上げあるのは、Core Dataの話。Core Dataベースのドキュメントはどうやって作るか、って話だ。これ、ものすごく便利。でも実際のアプリに組み込むと、どーもまだよく分からないところがある。iCloudはまだ発展途中って思わせるところがあるね。

次は『たのしいiPhoneプログラミング』。前半は、ちょっと話を戻して、Xcodeのインストールの話。Xcodeが4.3になってからインストール手順がガラッと変わっちゃったんで、それを補足する記事を書いた。後半は、新しいアプリを作るって話だ。お題は地図アプリ。Interface Builderを使ったサクサクって作っていくぜ。

最後は新連載。『フォントとコードの話』。フォントと文字コードのプログミングに関する四方山話を、ゆるーく話していこう、って感じの連載だ。最初のマイルストーンは、縦書きかな。縦書きレンダリングエンジンを開発するために必要な技術要素を少しづつ紹介していくよ。第一回では、フォントの幾何学情報を取り出す話。

そうそう。コンテンツの方はiPad 3rdのRetinaディスプレイに対応させたよ。テキストは当然として、画像や図版がもんのすごく奇麗に見える。Retianの威力は抜群だ。まぁ、ほとんどはスクリーンショットなんだけどね。

HMDT BOOKSが新しいiPadで問題があった方へ


HMDT BOOKSを、iPad (3rd)へ移行した方々へのお知らせです。

機種を移行すると、ダウンロードしたHMDT JOURNALのコンテンツが一緒に移動しないことがあります。これは、Appleのガイドラインに従って、ストアからダウンロードしたコンテンツはライブラリ/キャッシュフォルダに格納しているためで、バックアップ対象にならないからです。だって、Appleがそうしろって言うからです。

なので、データが移行されなかった場合は、再ダウンロードをお願いします。購入履歴は移行されるはずなので、ライブラリ画面に「再ダウンロード」の文字があると思います。これをタップすると、再ダウンロードします。

もし、再ダウンロードではなく、「¥170」といった金額が表示されている場合、あなたが一度購入しているならば、大丈夫です。そのままタップしてください。「HMDT JOURNALを購入しますか?」というアラートのあと、「このアイテムはすでに購入されています。もう一度無料でダウンロードするには「OK」をタップします。」というアラートが表示されます。これで再ダウンロードが始まります。

ただし、以前購入したアカウントと同じアカウントを使う必要があります。Apple IDの確認をお忘れなく。

 

iPad Retinaで大歓喜および大混乱


早速届きました、iPad Retina。

きれい!すごくきれい!これはWebで写真見ただけじゃ絶対に分からん。一度見たら、iPad 2にはもう戻れない。購入予定じゃない人は、見ない方が幸せかも。

書籍、写真集、イラスト系のアプリで効果絶大。うちで作ったアプリも動かしてみたら、もうすごくきれい。こんな日が来ると思って、あらかじめすべて倍精度で画像作っておいたからな。よかった、よかった。

でも、動かないアプリもたくさん。表示乱れだけならまだしも、操作不能なものもたくさん。発売の一週間前にツールだけ公開して対応しろなんて、無茶すぎだApple。何様だ。Apple様か。

悲鳴を上げながらの対応作業が続くと思われます。

iPad Retina用画像リソースファイル名


iPad Retinaへの対応調査を進めているんだけど。

いま、うちのアプリで、iPhoneとiPadのUniversalで、使用する画像リソースがそれぞれ違う場合、次のように画像ファイルをネーミングしている。

  • image.png
  • image@2x.png
  • image~ipad.png

上から順に、iPhone、iPhone Retina、iPad用のファイルね。

では、これをiPad Retinaで動かすと、どの画像リソースが使われるでしょう?

シミュレータで動かした結果、答えはimage@2x.png。なんですとー!?お、おれは、きっとimage~ipad.pngが使われると勝手に期待していたのに。

ということで、image@2x~ipad.pngの画像ファイルを作成して追加するか、プログラムの方に手を加えてiPad Retinaでもimage~ipad.pngを使わせるか、っていう対応を迫られ中。

HMDT JOURNAL Vol.004配信開始!


HMDT BOOKSにて、HMDT JOURNAL Vol.004の配信が開始!まだ週刊配信を守っております。4号書いたら、薄い本の一冊分くらいは書いたなー。

Vol.004の内容は、以下の通り!

  • iOS API探訪
    第4回 iCloud(4) ドキュメントベースの同期
  • たのしいiPhoneプログラミング
    第4回 Objective-Cを知ろう!
  • 新Dynamic Objective-C
    第2回 ARC(2) ARCへの移行

『iOS API探訪』は、iCloudの4回目。いよいよUIDocumentの話だ。iOSでもドキュメントベースアーキテクチャだ。UIDocumentを使えば、前回みたいなNSFilePresenter + NSFileCoordinatorでやったような面倒臭さはなくなる。だけど、全面的にドキュメントベースアーキテクチャに切り替える必要が出てくるよ。でも、こっちが正しい道だ、きっと。

『たのしいiPhoneプログラミング』は、Objective-Cの文法解説。ちょっと眠たくなるような内容だ。でも、これを超えれば楽しいことがいっぱい待っているから、乗り越えてくれ。クラス、インスタンス、インスタンス変数、メソッドについて解説。これらを使えるようになると、書く方も楽になる。

『新Dynamic Objective-C』は、ARCの2回目。ARCで追加された修飾子について解説。__weakのzeroing weak referenceは、ビビった。そして、すごく便利だ。そんなのが欲しかったんだよ!