आपको आईओएस पर भरोसा करना है कि MFMailComposeResult
जो mailComposeController:didFinishWithResult:error:
में वापस सौंपा गया है सही है। सिम्युलेटर उस परिणाम को झुकता है; कोई वास्तविक मेल नहीं भेजा गया है हालांकि यह MFMailComposeResultSent
कहता है।
ट्यूटोरियल उल्लेख एक महत्वपूर्ण बिंदु याद करते हैं: पहली बात MFMailComposeViewController
उपयोग करने से पहले क्या करना चाहिए [MFMailComposeViewController canSendMail]
जाँच करने के लिए है। यदि उपयोगकर्ता ने अपने डिवाइस पर मेल कॉन्फ़िगर नहीं किया है, तो वह NO
लौटाएगा। यदि आप किसी iOS संस्करण 3.0 से पहले सही तरीका अगर वर्ग MFMailComposeViewController
मौजूद है की जाँच करने के लिए है का समर्थन करना चाहिए, तो:
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil)
{
if ([mailClass canSendMail])
{
[self displayComposerSheet];
}
else
{
[self launchMailAppOnDevice];
}
}
else
{
[self launchMailAppOnDevice];
}
canSendMail मुद्दा केवल हालांकि कोई वास्तविक डिवाइस पर परीक्षण किया जा सकता। यदि आप CanSendMail की जांच नहीं करते हैं और उपयोगकर्ता के पास कोई मेल खाता कॉन्फ़िगर नहीं होता है तो यह क्रैश हो जाएगा।
आपको एक वास्तविक डिवाइस की आवश्यकता है। – Seunghoon