2015-04-02 7 views
9

Tworzę aplikację na iOS z funkcją resetowania hasła, która wysyła wiadomość e-mail do użytkownika. Po wysłaniu e-maila chcę wyświetlić użytkownikowi UIAlertController, prosząc go, czy chciałby otworzyć aplikację pocztową.Jak uruchomić aplikację pocztową na iOS w Swift?

Widziałem różne posty tutaj wzdłuż linii:

let url = NSURL(string: "mailto:") 
UIApplication.sharedApplication().openURL(url!) 

To działa, ale niestety zaczyna nową wiadomość, która nie jest to, co chcę. Chcę tylko uruchomić aplikację, aby użytkownik mógł zobaczyć swoją skrzynkę odbiorczą.

Odpowiedz

21

nie testowano siebie, ale może ta odpowiedź pomoże Ci:

Najwyraźniej Poczta obsługuje drugi schemat url message:// który (jak przypuszczam) pozwala otworzyć konkretną wiadomość, jeśli zostało pobrane przez aplikację. Jeśli nie zapewniają pełny adres URL wiadomości, to po prostu otwarty Mail:

let mailURL = NSURL(string: "message://")! 
if UIApplication.sharedApplication().canOpenURL(mailURL) { 
    UIApplication.sharedApplication().openURL(mailURL) 
} 

albumu: Launch Apple Mail App from within my own App?

+0

Dokładnie tego, czego szukałem! Dzięki za pomoc –

+0

odsuńcie się, ponieważ to jest pytanie Swift, czy byłby Pan nieprzyjemny, gdybym zredagował waszą odpowiedź na Swift? – nhgrif

+0

zapraszam do edycji :) – dehlen

1

Swift 3.0.1 sposób po prostu otwierając aplikację poczty wygląda następująco :

private func openMailClient() { 
    let mailURL = URL(string: "message://")! 
    if UIApplication.shared.canOpenURL(mailURL) { 
     UIApplication.shared.openURL(mailURL) 
    } 
} 

Jako „dehlen” prawidłowo stwierdził, stosując schemat message:// otworzy aplikację poczty tylko, jeśli żadne dalsze informacje.

Powiązane problemy