W mojej aplikacji, jeśli użytkownik podał swoje konto gmail, jestem zobowiązany do otwarcia klienta pocztowego z danymi logowania do Gmaila, które pojawia się, gdy wybieramy opcję Gmail w programie pocztowym programowo, ale jeśli to konto jest już przechowywane w poczcie, wówczas muszę przekierować użytkownika bezpośrednio na jego konto. Czy ktokolwiek pliz może mi rzucić okiem na to, jak mogę to osiągnąć programowo?Otwarty klient poczty iPhone programowo
Odpowiedz
Nie będziesz mieć tak dużej kontroli nad aplikacją Mail, ponieważ wszystkie aplikacje na iPhone'a są w trybie piaskownicy, aby zapobiec ich zakłócaniu przez aplikacje Apple.
Jedyne co można zrobić (jeśli chcesz, aby otworzyć klienta poczty, aby wysłać e-mail), jest mniej więcej tak:
/* create mail subject */
NSString *subject = [NSString stringWithFormat:@"Subject"];
/* define email address */
NSString *mail = [NSString stringWithFormat:@"[email protected]"];
/* define allowed character set */
NSCharacterSet *set = [NSCharacterSet URLHostAllowedCharacterSet];
/* create the URL */
NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"mailto:?to=%@&subject=%@",
[mail stringByAddingPercentEncodingWithAllowedCharacters:set],
[subject stringByAddingPercentEncodingWithAllowedCharacters:set]]];
/* load the URL */
[[UIApplication sharedApplication] openURL:url];
/* release the URL. If you are using ARC, remove this line. */
[url release];
Swift:
if let url = NSURL(string: "mailto://\(email)") {
UIApplication.sharedApplication().openURL(url)
}
Swift version of Leon Odpowiedź Rodenburga:
// define email address
let address = "[email protected]"
// create mail subject
let subject = "Subject"
// create the URL
let url = NSURL(string: "mailto:?to=\(address)&subject=\(subject)".stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)
// load the URL
UIApplication.sharedApplication().openURL(url!)
Proponuję znacznie bardziej poprawioną odpowiedź. Aplikacja mobilna Slack.com wykonuje to, wykrywa typowych klientów poczty e-mail wymienionych na urządzeniu i pokazuje wyskakujący przycisk wyboru "klienta poczty e-mail", który chcesz otworzyć.
więc wdrożyć:
Google dookoła aby znaleźć 10 najlepszych klientów pocztowych (np Mail, Google Skrzynka odbiorcza, Outlook Airmail etc).
Wyświetl listę zainstalowanych aplikacji w telefonie, przeszukując wszystkie aplikacje (ale powiedziano mi, że teraz możesz tylko znaleźć, jeśli aplikacja jest jawnie zainstalowana, więc musisz wykryć aplikację).
Pokaż listę podręczną, jeśli wykryta zostanie więcej niż jedna aplikacja e-mail, z prośbą o otwarcie aplikacji "która", np. Poczta, skrzynka odbiorcza.
To najlepsze rozwiązanie, jakie dotychczas widziałem.
- 1. Programowo otwarty PrefPane z sekcją
- 2. Facebook nie jest otwarty w Safari/iPhone
- 3. Jak programowo otwarty rozszerzenie chrom popup.html
- 4. Zalecany klient poczty e-mail do odczytywania/stosowania łatek git?
- 5. otwarcie w iPhone App programowo
- 6. iPhone: Otwórz adres URL programowo
- 7. Iphone 4.0 = jak odczytać SMS ze skrzynki odbiorczej IPhone Programowo
- 8. programowo otwarty bar urok, bar moc i menu z C#
- 9. iPhone: Czy mogę programowo wyłączyć automatyczne wyłączanie wyświetlacza?
- 10. iphone - programowo przycisk powrotu kontrolera nawigacji
- 11. Jak programowo otworzyć wywołanie MKAnnotationView? (iPhone, MapKit)
- 12. UINavigationBar - Ustaw programowo? iPhone SDK 4
- 13. nagrywania wideo w iPhone SDK programowo
- 14. iphone - Programowo ustawione (systemowe) ustawienia proxy?
- 15. Ustawianie obrazu tła przycisku iPhone programowo
- 16. Jak programowo znaleźć pamięć w programie iPhone?
- 17. wybierać kod USSD z iPhone programowo
- 18. iPhone: rób zdjęcia z przednim aparatem programowo
- 19. jak ukryć klawiaturę programowo w iphone
- 20. IPhone/iPad: Jak programowo uzyskać szerokość ekranu?
- 21. Jak porównują się klient-klient i klient HTTP Apache?
- 22. Kompozytor poczty iOS nie odrzuci
- 23. Znajdź domyślnego klienta poczty e-mail
- 24. Przekierowanie na iOS z poczty do aplikacji
- 25. Pozbądź klient-config.wsdd w Osi
- 26. Jak programowo wyświetlić przycisk w uiview w iphone
- 27. Jak programowo odtwarzać pliki MP3 na telefonie iPhone?
- 28. Scalanie dwóch obrazów do jednego obrazu programowo w iphone
- 29. iPhone SDK: kontroluj strony internetowe w UIWebView programowo
- 30. Jak mogę programowo utworzyć plik PDF w aplikacji iPhone?
OK i dziękuję za odpowiedź. – user574089