きりかノート 3冊め

おあそびプログラミング

第48回 Cocoa勉強会に行ってきた

会場はルノアールマイスペース 池袋パルコ横店。なんにも考えずに道なりに東口店にいってしまったのはおれだけか!

(ここから下は11/13に公開しました)

以下発表など。今回はiOSよりMacの話が多かったです。

iPad POSシステム

7月の勉強会のレシート印刷のつづき。

iPadを中心として20万円クラスのレジの機能を代替するようなソリューションを実現するよ、という話。

機能は

  • レシートプリンタの印刷(英数、漢字、図柄)
  • カスタマディスプレイへの表示
  • バーコード入力
  • キャッシュドロアを開く

など。

実機でのデモのほかに、機械を安く調達する方法、ビジネスにのせる道筋をこうしよう、海外対応するならこういうようにしないと、みたいな話題で盛り上がったり。

(感想)あまりなじみのない単語がけっこうあったけど、実機があるのでなんの機械かはわかる。前回はサーバを別途置くような設計になってたと記憶してるんだけど、iPad単体でぜんぶまかなえるようになってたのがすげー。

Lionの新しい機能に対応する

Lionのアプリで新しく導入された

  • 復元
  • 全画面
  • 履歴

について。

NSDocumentを使っていれば、とても簡単! 

  • 復元と履歴はなにもせずに対応される。
  • 全画面もコードを2行だけ追加すればよい。

ということを、"Building a Text Editor in 15 Minutes"を例にして実演と解説。

(感想)CoreData+NSDocumentの構成にしてるとAppleのレールに乗れてらくちんなんだよね。でも実現したいことがあると独自になってしまうのが人の常だったり。雑談でててきた「iCouldにAppleは本気だ!」という話の根拠なんかがおもしろかったっす。

LionのSandboxについて

LionのSandboxはiOSのものと似たようなファイルツリーの構成。あらかじめ宣言したリソース以外を使用できないようにすることでセキュリティを高める技術。アプリケーションに侵入されても影響範囲を限定できる。

  • Sandboxはビルド時に指定するもの。開発者が指定し、ユーザは変更できない。
  • Entitlementで使用するリソースをXcode上で定義する。
  • ContainerでPowerboxを。ユーザがダイアログなどで明示的に指定したファイルなどはSandboxの外でも利用可能。
  • 署名が必要。Storeに置かないならADCのプロビジョニングでなくてもよい。
  • Sandboxの外を踏んだりネットワークを使用しようとするとエラーになる。エラー処理は自分で実装する必要あり。
  • Snadbox migrationで移行支援の機能がある。

AppleEventはどうなるの(将来的には送信できなくなるらしい)?や、こういったところで抜け穴はない?といった議論がおもしろかったです。

(感想)うまくセキュリティ高めつつ利便性もキープしようと工夫されてる感じ。現時点ではiOSのものより進んでるよに思う。もう実現できてるかもしれないけれど「ユーザがEntitlementをいつでも確認できる」「事後統制的な監査ログ」あたりがほしいなあと思ったり。

文字入力中の代替フォント制御

LionでNSTextFieldにバグ(文字化け、フォントが反映されない)を見つけた。Appleには報告したが修正されるまでどのように対処したか、という話。

方法としてはNSTextStorageを自作し、カスタムのフィールドエディタを利用して対応した。

横道だけどNSButtonが日本語のとき〜という話から、組み版の話題に火がついたり。欧文とちがって、日本語+アルファベットの横組みは決定版といえるようなルールがまだないそうです。

(感想)すきなタイプのハック。サブクラス化しないでmethod swizzlingでも対応できそうに思ったんだけどまだ試してないです。NSTextまわりは構造としてはキレイにできてるんだけど、自分でいじろうと思うと地獄行きになるケースが多すぎる。

Looping Recordersの基礎

iOSアプリとしてループペダルをつくりたい。ループペダルの原理と、iOSの録音・再生まわりの調査結果など。

Cocoa勉強会関西のCocoa Life KOF2011特別編に掲載されてるのでそっち見たほうが早いかも。

(感想)集中力きれててちゃんと聞けてませんでした。やっぱ5時間はちょっと長いかも。公的なとこ借りると13-17時というのが多いけれども、4時間だとちょっと足りない感があるんだよね。

その他の話題

  • 独立(会社設立)したよ
    • 会社設立の事務手続き(自分でやる?司法書士にお願いする?)などなど。
    • ロゴじゅーよー!CIにはお金かけるべき。NeXT社のは…!!
    • いい椅子を使おう!
  • ARC
  • ネットワークホーム/モバイルホームがべんり
    • ネットワークホームはオンラインでないと使えない。大学なんかで導入。
    • モバイルホームはホームディレクトリをDropBoxにしてるような感じ(うろおぼえ)
  • ソーシャルゲームの(iOS+Android)開発手法、課金テクニック
  • iPhoneをヒビ入ったまま使ってる人…?

自分は畑違いの仕事しててよくわからんのだけど、iOSの開発ってコモディティ化していってあんましイイ仕事になりづらいんじゃ?という見込みがあったんだけど、当日来てた人たちに聞いてみるとそうでもないみたい。まだまだじゃんじゃんこれからだそうです。ちょっと意外でした。

次回の予定

12/17(土)に新宿で行う予定です。