2011-01-30 2 views
0

J'utilise ci-dessous code pour accéléromètre et fonctionne sur iPod 3G mais ne fonctionne pas sur iphone4 (ne montre pas d'alerte)Accéléromètre ne fonctionne pas sur iphone4

.h

#define kAccelerationThreshold  2.2 
#define kUpdateInterval   (1.0f/10.0f) 

.m

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UIAccelerometer *accel=[UIAccelerometer sharedAccelerometer]; 
    accel.delegate=self; 
    accel.updateInterval=kUpdateInterval; 
} 

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration 
{ 
    if (fabsf(acceleration.x) > kAccelerationThreshold || fabsf(acceleration.y) > kAccelerationThreshold || fabsf(acceleration.z) > kAccelerationThreshold) 
    { 
     UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Shake" message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [alert show]; 

    } 
} 
+0

Nous aurions besoin de voir beaucoup plus de votre code - et une description de la façon dont exactement cela ne fonctionne pas - pour répondre à cette question – grahamparks

+0

je modifier – SajjadZare

Répondre

0
accel=updateInterval=kUpdateInterval; 

On dirait qu'il devrait être

accel.updateInterval=kUpdateInterval; 
+0

c'est mon erreur ici et je l'ai écrit correct dans xcode (Cela fonctionne sur ipod signifie que mon code est correct) – SajjadZare

1

copiais votre code dans un nouveau projet - afin de l'obtenir au travail, je devais baisser la valeur kAccelerationThreshold à environ 1,5 - ce qui nécessite encore assez secousse violente.

testé uniquement sur iPhone 4.