Ouvrir l'application Gmail depuis mon application

J'essaye d'envoyer un email de mon application. Mais ce que je veux, c'est que si l'user a une application Gmail sur son téléphone, alors le courrier doit être envoyé en l'utilisant. Si l'application Gmail n'est pas disponible, l'user doit être redirigé vers Mailbox.

Alors, comment puis-je savoir si l'user contient l'application Gmail et comment puis-je redirect l'user vers cette application.

Vous devez utiliser un schéma d'URL personnalisé. Pour l'application Gmail, c'est:

googlegmail:// 

Si vous voulez y écrire un message, vous pouvez append plus de parameters à cette URL:

 co?subject=Example&body=ExampleBody 

Vous pouvez déterminer si n'importe quel type d'application est installé en utilisant ce code (il suffit de replace customURL évidemment pour une autre application):

 NSSsortingng *customURL = @"googlegmail://"; if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithSsortingng:customURL]]) { [[UIApplication sharedApplication] openURL:[NSURL URLWithSsortingng:customURL]]; } else { //not installed, show popup for a user or an error } 

Configuration pour iOS9 +

Comme expliqué ici , si vous êtes sur iOS9 + , n'oubliez pas d'append googlegmail à LSApplicationQueriesSchemes sur votre info.plist

mon info.plist

Code pour ouvrir GMail

Ensuite, vous pouvez faire la même chose que la réponse acceptée (ci-dessous est ma version 2.3 rapide):

 let googleUrlSsortingng = "googlegmail:///co?subject=Hello&body=Hi" if let googleUrl = NSURL(ssortingng: googleUrlSsortingng) { // show alert to choose app if UIApplication.sharedApplication().canOpenURL(googleUrl) { if #available(iOS 10.0, *) { UIApplication.sharedApplication().openURL(googleUrl, options: [:], completionHandler: nil) } else { UIApplication.sharedApplication().openURL(googleUrl) } } }