iPhoneの醍醐味は,マルチタッチにある.
それ以外は,正直,MacOSXのモバイル版といえる.
(まぁ,それも対外よくできているわけだが)
このマルチタッチに関する情報・・・・・・.
散乱している.
class-dumpの結果から見るに重要となりそうなキーワードは,以下,この辺だろう.
1.gestureStarted
2.gestureChanged
3.gestureEnded
4.canHandleGestures
5.cancelMouseTracking
6.setEnabledGestures
また,片っ端から,iPhoneのアプリケーションのソースコードを読みまくり,さらに,色々調べてみると,二つのメソッドが浮かび上がる.
1.GSEventGetInnerMostPathPosition
2.GSEventGetOuterMostPathPosition
これを使っているソースコードをビルドしたところ,この二つのAPIの戻り値がおかしいというエラーでビルドできない.
※二つのAPIの戻り値が違うといわれた・・・.謎.もしかすると,1.0.1のファームウェアのときは動いたのかもしれない.
怪しい・・・・.
これで実装したが,まったくうまくいかない.
そこで,Google CodeのDoomプロジェクトで怪しい呪文を見つける.
http://code.google.com/p/iphonedoom/wiki/GestureEventsより引用

Invoking setGestureDelegate on your UIView, will send the delegate the following
events:
- (void)gestureStarted:(GSEvent *)event;
- (void)gestureChanged:(GSEvent *)event;
- (void)gestureEnded:(GSEvent *)event;
Additionally, if you invoke the following on your UIView:
[myView setEnabledGestures: 2];
[myView setValue: [NSNumber numberWithBool: NO] forGestureAttribute: 7];
[myView setValue: [NSNumber numberWithBool: NO] forGestureAttribute: 4];
[myView setValue: [NSNumber numberWithBool: YES] forGestureAttribute: 5];
Your view will be stretched around using the pinch/expand gestures, and your
delegate should then also receive the following events:
- (void)willStartGesturesInView:(UIView *)view forEvent:(GSEvent *)event;
- (void)didFinishGesturesInView:(UIView *)view forEvent:(GSEvent *)event;
- (void)willStartGesture:(int)gesture inView:(UIView *)view forEvent:(GSEvent *)event;
- (void)gestureDidChange:(int)gesture inView:(UIView *)view forEvent:(GSEvent *)event;

ぬううう.ここで一旦挫折.