2011-12-10 22 views
2

アプリにシェイク認識機能を統合しました。私はそれを私のappdelegateに入れて、アプリ全体で使えるようにしました。 iOS 5ではうまく動作しますが、iOS 4ではうまく動作しません。iOS 4でシェイク認識が機能しない、iOS 5で機能する

私は私のappdelegate.mに次のコードを使用しています:

- (void)applicationDidBecomeActive:(UIApplication *)application { 
    [self becomeFirstResponder]; 
    .... 
} 

-(BOOL)canBecomeFirstResponder { 
    return YES; 
} 

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { 
    NSLog(@"motionBegan"); 
} 

-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{ 
    NSLog(@"motionEnded"); 
} 

私はiOS5をシミュレータでこれを実行し、シェイクジェスチャーを有効にした場合、私はのNSLogメッセージを取得します。 iOS 4.3シミュレータで実行した場合、動作しません。実際のデバイスと同じこと。

+0

も同じ問題があります –

答えて

2

私は同じ問題がありました。 Event Handling Guide: Motion Eventsのよう

- (void)viewDidAppear:(BOOL)animated { 
    [self becomeFirstResponder]; 
} 

代わりの

- (void)applicationDidBecomeActive:(UIApplication *)application { 
    [self becomeFirstResponder]; 
    .... 
} 

を試してみてください。これは私のために働いた。

関連する問題