Archive for 3月, 2013

2013-03-23 58回 Cocoa勉強会(関東)のレポート

会場は今回も新宿伊藤ビルの貸し会議室

以下発表など。

チーム開発(その他)

お仕事でアプリ開発してて出てくるあれこれ。

iOSアプリの開発で「ぜんぶやってください!」なとき、Dev Centerのプロビジョニングポータル上の作業とかもおまかせされちゃうケースがあるよねえ。自分をチームに入れるのも結局自分で操作したり。規約改訂後に顧客で”agree”してないのがブロックになっちゃったりとか。オペレーション時は顧客の責任者に立ちあってもらうようにしてる、などなど。
(日本では?)昨年から導入されたvolume purchaseだとenterprise developer programとちがって、前者は開発のプロビジョニングが期限切れてもユーザは使い続けられるってのがメリットにもなるよね。

自分のApple IDが複数のチームに所属してるときはログイン後に選べる。顧客ごとにIDを作る(委託側がID用意する)ケースが多い?
in app purchaseのテストではIDがたくさん必要なのでまとめて登録しとく派が多いようです。

プロジェクト管理だとITS効果あるけど、チケットの粒度や文化的になじまない現場もあったり。「バグ」と言う単語を使わないようにしてる人もいるそうです。

Makers手法を用いた自作キーボード (その他)

(ハードウェアの)キーボードを自作する話。

UndoManager (iOS/Mac)

NSUndoManagerによるアンドゥ/リドゥ管理について。

  • Core Data使ってると、そのUndo/Redoも登録されてるので注意。操作をグループ化するメソッドを使う。
  • Redo実装するときははじめから設計に入れとかないとあとで大変。
  • 予期しない動作になるときは標準クラスのメソッドにmethod swizzlingを使って原因となるアクションを調べると便利。

performSelectorのススメ (iOS/Mac)

NSObject Protocolのメソッド(=ほぼ全てのオブジェクトで使える)”performSelector:withObject:afterDelay:”で、delayに0.0を渡すテクがいろいろ便利!という話。

run loopを1回だけまわして次の回に実行するように指示することになる。こんなときに便利。

  • あとでまとめて実行することができるので描画パフォーマンスの向上に効果有り。
  • 描画させてから実行したい処理(位置の判定、描画画像の取得)で便利。
    – timerで”0.1秒後”など指定するよりもrunloop 1回後のほうが意図としても正しい。
  • cancelPerformSelectorsWithTarget:系のメソッドで実行指示を取り消せる。

デメリット

  • 乱用するとアニメーションなんかはおかしくなるときがある。

(議論など)

  • そーいえばNSTimerもrun loop依存だから、それほど正確じゃないよね。
  • ゲーム開発のときなんかは正確にきざめるのが欲しい。

その他の話題

  • 法人向けのソリューションだと最近はiOS » Android
  • 5月からのRetina対応
  • iADでけっこう売上立つようになってきた
    – iAD使ってるとよその広告会社から営業がけっこう来たり…
Categories
Bookmarks