2012-01-11 6 views
52

मैं पहले से ही क्या पायाऐप्पल मेल ऐप को अपनी ऐप के भीतर से लॉन्च करें?

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto:"]]; 

है लेकिन मैं सिर्फ मेल ऐप न केवल एक संगीतकार दृश्य खोलने के लिए चाहते हैं। बस अपने सामान्य या अंतिम राज्य में मेल ऐप।

कोई विचार?

+0

का उपयोग करके लिखें दृश्य खोलकर का उपयोग किए बिना मेल एप्लिकेशन खोल सकता है? – Novarg

उत्तर

12

चूंकि अन्य अनुप्रयोगों को लॉन्च करने का एकमात्र तरीका उनकी यूआरएल योजनाओं का उपयोग करके है, मेल खोलने का एकमात्र तरीका मेलto: योजना का उपयोग कर है। दुर्भाग्यवश, आपके मामले के लिए, हमेशा रचना दृश्य खोलेंगे।

+0

बिल्कुल यकीन है कि कोई रास्ता नहीं है? खैर, वह बेकार है ... – cschuff

+0

@cschuff अब भी सच साबित होता है।मैंने यूआरएल लॉन्चिंग तंत्र और किसी भी संबंधित जानकारी के माध्यम से मुझे एक और दौरा किया जो मुझे मिल सकता था। खोले गए रचना दृश्य के साथ लॉन्च करने के लिए अभी भी सीमित है। – Thompsonian

+0

जब तक कि कोई मेल खाता कॉन्फ़िगर नहीं किया जाता है, इस मामले में यह मेल को "मेल में आपका स्वागत है" स्क्रीन खोल देगा, जिसमें आईक्लॉड, एक्सचेंज, Google, याहू !, एओएल, आउटलुक, और अन्य –

47
NSString *recipients = @"mailto:[email protected][email protected],[email protected]&subject=Hello from California!"; 

NSString *body = @"&body=It is raining in sunny California!"; 

NSString *email = [NSString stringWithFormat:@"%@%@", recipients, body]; 

email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]]; 
+14

यह लिखें दृश्य में खुलता है। – crizCraig

+0

आईओएस 11 में काम नहीं कर रहा है। क्या कोई मेरी मदद कर सकता है? –

2

आप iOS एप्लिकेशन डेवलपर के लिए Xamarin का उपयोग कर रहे हैं, तो यहां सी # बराबर मेल अनुप्रयोग संगीतकार दृश्य खोलने के लिए है:

string email = "[email protected]"; 
NSUrl url = new NSUrl(string.Format(@"mailto:{0}", email)); 
UIApplication.SharedApplication.OpenUrl(url); 
9

कोई वास्तविक डिवाइस पर अपने ऐप्स चलाएं और फोन

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"[email protected]"]]; 

नोट, कि यह लाइन सिम्युलेटर पर कोई प्रभाव नहीं डालती है।

+9

+1 यह नोट करने के लिए कि यह सिम्युलेटर – enjayem

-5

स्विफ्ट में:

let recipients = "[email protected]" 
let url = NSURL(string: "mailto:\(recipients)") 
UIApplication.sharedApplication().openURL(url!) 
5

अमित के जवाब पर विस्तार: यह मेल एप्लिकेशन लॉन्च एक नया ईमेल शुरू कर दिया साथ होगा। नया ईमेल शुरू करने के तरीके को बदलने के लिए बस तारों को संपादित करें। message:// जो (मुझे लगता है) विशेष संदेश को खोलने के लिए अगर यह आवेदन के द्वारा दिलवाया गया था या नहीं -

//put email info here: 
NSString *[email protected]"[email protected]"; 
NSString *[email protected]"The subject!"; 
NSString *body = @"It is raining in sunny California!"; 

//opens mail app with new email started 
NSString *email = [NSString stringWithFormat:@"mailto:%@?subject=%@&body=%@", toEmail,subject,body]; 
email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]]; 
59

जाहिर मेल अनुप्रयोग 2 url योजना का समर्थन करता है। आप संदेश यूआरएल कहीं भी होगी सिर्फ खुला मेल अनुप्रयोग प्रदान नहीं करते हैं:

NSURL* mailURL = [NSURL URLWithString:@"message://"]; 
if ([[UIApplication sharedApplication] canOpenURL:mailURL]) { 
    [[UIApplication sharedApplication] openURL:mailURL]; 
} 
+2

पर काम नहीं करता है, अगर स्लैक ऐप इस तकनीक का उपयोग करता है तो आश्चर्य की बात है। वे मेल लिखें दृश्य – Daniel

+1

के बिना लॉन्च कर रहे हैं यह स्वीकार्य उत्तर होना चाहिए। वर्तमान स्वीकृत उत्तर का कहना है कि यह संभव नहीं है लेकिन "संदेश //" का उपयोग करके लिखें स्क्रीन के बिना ईमेल ऐप खोलता है। –

+0

इसे खोजने के लिए बहुत बढ़िया! क्या आप जानते हैं कि हम उस यूआरएल योजना का उपयोग कर सकते हैं ताकि मेल ऐप एक ई-मेल फ़ाइल (_.msg_ आउटलुक या इसी तरह से) खोलता है जहां एक यूआरएल दिया जाता है जहां फ़ाइल होस्ट की जाती है? तो कुछ 'संदेश: // http: // डोमेन/file.msg' जैसे कुछ। –

5

यदि आप अपने URL योजना पता आप iOS पर किसी भी एप्लिकेशन लॉन्च कर सकते हैं। मुझे इस में clueing के लिए फरहद Noorzay को

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"message:message-id"]]; 

प्रॉप्स: कि मेल ऐप योजना सार्वजनिक है पता नहीं है, लेकिन आप डरपोक हो सकता है और यह प्रयास करें। यह मेल ऐप एपीआई के कुछ रिवर्स इंजीनियरिंग है। अधिक यहाँ जानकारी: https://medium.com/@vijayssundaram/how-to-deep-link-to-ios-7-mail-6c212bc79bd9

15

मूल अमित के जवाब की स्विफ्ट संस्करण:

स्विफ्ट 2:

func openMailApp() { 

    let toEmail = "[email protected]" 
    let subject = "Test email".stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet() 
    let body = "Just testing ...".stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet() 

    if let 
     urlString = ("mailto:\(toEmail)?subject=\(subject)&body=\(body)")), 
     url = NSURL(string:urlString) { 
     UIApplication.sharedApplication().openURL(url) 
    } 
} 

स्विफ्ट 3.0:

func openMailApp() { 

    let toEmail = "[email protected]" 
    let subject = "Test email".addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) 
    let body = "Just testing ...".addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) 

    if let 
     urlString = "mailto:\(toEmail)?subject=\(subject)&body=\(body)", 
     url = URL(string:urlString) { 
     UIApplication.shared().openURL(url) 
    } 
} 
+4

यह संस्करण वास्तव में मेरे लिए काम नहीं करता है। ऐसा लगता है कि केवल विषय ही है और शरीर को ऐप्पल के दस्तावेज़ के आधार पर एन्कोड किया जाना चाहिए: https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MailLinks/MailLinks.html तो उत्तर में सही 'urlString' होना चाहिए 'urlString = "mailto: \ (toEmail)? subject = \ (subject.stringByAddingPercentEncodingWithAllowedCharacters (.URLHostAllowedCharacterSet())!) और body = \ (body.stringByAddingPercentEncodingWithAllowedCharacters (.URLHostAllowedCharacterSet())!" '। हालांकि इस कोड को बेहतर प्रारूप और सुरक्षित कोड के लिए दोबारा प्रतिक्रिया दी जा सकती है। – Zhao

0
तेज 2.3 पर

: खुले मेलबॉक्स

UIApplication.sharedApplication().openURL(NSURL(string: "message:")!) 
3

आप imap का प्रयास किया या बजाय इन्हें मेल की पॉप url योजना message://

संबंधित मुद्दे