Archive for 2月 8th, 2014
2014-02-08 64回 Cocoa勉強会(関東)のレポート
大雪の中、ありがとうございました。
会場は新宿伊藤ビルの貸し会議室。
参加者は12人(うち見学5名)でした。
発表「CoreDataとUndo」iOS/Mac
CoreDataのUndoをグループしたときに、登録の逆順に呼び出される保証はない。
というか順番が不定。CoreData的にはカスタムクラスを割り当てたほうがうまく動作する。
XcodeでNSManagedObjectのサブクラスもテンプレートが対応しているので、それにおまかせすればよい。
現在のCoreDataではモデルに”Ordered”の設定が可能になっている。 WWDC 2011 / Session 315参照。
ただし、(いまだに)自分でKVCアクセサを実装しないといけない。けっこうたいへん。
発表「Sony CameraRemoteAPI」Mac/iOS
SONYのレンズだけカメラ。スマートフォンに接続して使う。SDKが提供されていて、”Camera Remote API”を通しシャッターやズームが操作できる。接続はWIFIのアドホックのみ。SSDPで接続(HTTP)。
デモ。MacからHTTP経由でライブ画像を連続して取得。ズームイン/ズームアウト操作。
SSDPでのネゴシエーション時に、ブロードキャストするインターフェイス(アドレス)を指定する必要があることに注意。今は複数のインターフェイスある環境が多い。
- Mac: 有線、WIFI
- iOS: 3G回線、WIFI
など。
- Q. GETで取ってくるって繰り返しリクエストするの?
- A. GETは1回で複数のレスポンスが返ってくる。
発表「リマインダーの繰り返しを自由に指定する」Mac
リマインダーの繰り返しをアプリから指定可能なもの以外も設定したい。EventKitから操作すると、いろんな繰り返しが設定できる。
- 3週間ごと
- 毎月15日、月末
- 毎月第1、第3水曜日
発表「DictionaryServicesを使ったMigemoみたいな逐次検索」Mac
「ヒューメインインターフェイス」ジェフ・ラスキン 逐次検索を主体としたUI。
日本語だと漢字への変換があるため、アルファベットのように単純には検索できない。
ローマ字入力でのインクリメンタル検索としてはmigemoが有名どころ。
今回はObjective-C/Cocoaで類似のものを実装してみた。
デモ。青空文庫の吉川三国志テキストをローマ字入力の”sousou”から”曹操”を検索。(ひらがなの「そうそう」などもヒットする)
アプリの構成を解説。
- CoreFoundationのローマ字→かな変換を利用してひらがなを取得。
- OS付属の「辞書」のプライベートAPIを使って、かなから候補を取得。
- 候補一覧から正規表現を構成してテキスト検索。
Q. NSErrorの初期化はNULL or nilのどちらが正しい?
A. (結論出ず)
発表「SpriteKitを使ってみる」iOS
10.9とiOS7から利用可能。
ビュー > シーン > ノード という階層になっている。
ノードが画面上のアイテム。キャラクタ、ボールなど。
physicsBody描画と実体(当たり判定)サイズを別に指定できる。物理シミュレーションもphysicsBodyで指示する。
デモ。上からたくさん落ちてくる弾が操作キャラクタに当たると跳ね返る。
発表「ゲームコントローラを使ってみました」iOS
iPhoneに装着するタイプのゲームコントローラのSDKの話。iPhoneのゲームコントローラは次の2タイプ。
- コネクタで接続(今回はこちら)
- Bluetooth
方向キー、ボタンx4、LRがある。初代プレイステーションっぽい構成。
方向キーはアナログパッドで、日本のゲーム機に慣れてるとちょっと違和感あるかも。
SDKを使用して、キー入力を受け取るサンプルコードの説明。
コントローラ経由でUSB接続したときにMac/XcodeにiPhoneとして認識されないので実機デバッグがたいへん。
次回の予定
次回は4/5(土)に今日と同じ会場で開催予定です。