changement de vue dans didReceiveRemoteNotification

raflebossrafleboss Membre
novembre 2012 modifié dans Apple Developer Programs #1
[font=verdana, geneva, lucida,]Bonjour tout le monde,[/font]

[font=verdana, geneva, lucida,]Je débute avec le développement d'Ios. [/font]

[font=verdana, geneva, lucida,]Voila j'aimerai changer de vue lorsque je reçoit une notification (PUSH). J'ai bien la fonction didReceiveRemoteNotification qui permet de réaliser des actions lorsque l'application reçoit un push. [/font]



[font=verdana, geneva, lucida,]Est ce que vous pouvez me donner la démarche a suivre? [/font]

[font=verdana, geneva, lucida,]Voila mon code mais ca ne marche pas.[/font]
<br />
[color=#000000][size=3]- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {[/size][/color]<br />
<br />
#if &#33;TARGET_IPHONE_SIMULATOR<br />
<br />
	NSLog(@&quot;remote notification: %@&quot;,[userInfo description]);<br />
<br />
	NSDictionary *apsInfo = [userInfo objectForKey:@&quot;aps&quot;];<br />
<br />
	NSString *alert = [apsInfo objectForKey:@&quot;alert&quot;];<br />
<br />
	NSLog(@&quot;Received Push Alert: %@&quot;, alert);<br />
<br />
	NSString *sound = [apsInfo objectForKey:@&quot;sound&quot;];<br />
<br />
	NSLog(@&quot;Received Push Sound: %@&quot;, sound);<br />
<br />
	AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);<br />
<br />
	NSString *badge = [apsInfo objectForKey:@&quot;badge&quot;];<br />
	<br />
	NSLog(@&quot;Received Push Badge: %@&quot;, badge);<br />
	<br />
	application.applicationIconBadgeNumber = [[apsInfo objectForKey:@&quot;badge&quot;] integerValue];<br />
<br />
	<br />
	<br />
	//Transition Custom<br />
	[CATransaction begin];<br />
	<br />
	CATransition *transition = [CATransition animation];<br />
	transition.type = kCATransitionPush;<br />
	transition.subtype = kCATransitionFromRight;<br />
	transition.duration =  0.3f ;<br />
	transition.fillMode = kCAFillModeForwards;<br />
	transition.removedOnCompletion = YES;<br />
	<br />
	[[UIApplication sharedApplication].keyWindow.layer addAnimation:transition forKey:@&quot;transition&quot;];<br />
	[[UIApplication sharedApplication] beginIgnoringInteractionEvents];<br />
	[CATransaction setCompletionBlock: ^ {<br />
		dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(transition.duration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^ {<br />
			[[UIApplication sharedApplication] endIgnoringInteractionEvents];<br />
		});<br />
	}];<br />
	<br />
	self.detailAlertRecuesView = [[[detailAlertRecuesViewController alloc] initWithNibName:@&quot;detailAlertRecuesViewController&quot; bundle:nil] autorelease];<br />
	<br />
	[self.window.rootViewController presentModalViewController:self.detailAlertRecuesView animated:YES];<br />
	//[self.window.rootViewController dismissModalViewControllerAnimated:YES];<br />
	<br />
	[self.window makeKeyAndVisible];<br />
	/*<br />
	self.loadingViewController = [[[LoadingViewController alloc] initWithAlert:@&quot;LoadingViewController&quot; bundle:nil alertid:1807] autorelease];<br />
	self.win  = self.loadingViewController;<br />
	[self.window makeKeyAndVisible];*/<br />
	<br />
	[CATransaction commit];<br />
#endif<br />
}




Erreur :




Warning: Attempt to present &lt;detailAlertRecuesViewController: 0x1f5a52b0&gt; on &lt;LoadingViewController: 0x1f58cbf0&gt; whose view is not in the window hierarchy&#33;






Voila en espérant que ça vous aide.



Merci d'avance image/wink.png' class='bbc_emoticon' alt=';)' />

Réponses

  • Présentation, tout ça...
  • J'ai mal ...
  • AliGatorAliGator Membre, Modérateur
    1. Présentes-toi dans la section dédiée "Présentation des membres" qu'on connaisse ton niveau, ton expérience, tout ça

    2. Edite ton message pour le rendre plus propre, là  ton code est illisible. Utilise les balises CODE prévues à  cet effet sur le forum pour rendre tes extraits de code lisibles, sans quoi personne ne prendra la peine de lire ton message (moi le premier)
  • oui désolé j'ai oublié la politesse ^^
Connectez-vous ou Inscrivez-vous pour répondre.