24

स्थिति MFMailComposeViewController प्रस्तुत करने जा रहा था। मैंने देखा कि इसे आधे रास्ते से प्रस्तुत किया गया था, लेकिन फिर इसे खारिज कर दिया गया।MFMailComposeViewController तुरंत खारिज कर देता है

यह त्रुटि है:

_serviceViewControllerReady:error: Error Domain=_UIViewServiceInterfaceErrorDomain Code=3 "The operation couldn’t be completed. (_UIViewServiceInterfaceErrorDomain error 3.)"

यह MFMailComposeViewController पेश करने के लिए मेरे स्रोत कोड है:

-(void) MailExecute { 
    if ([MFMailComposeViewController canSendMail]) 
    { 
     MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; 
     mailViewController.mailComposeDelegate = self; 
     [mailViewController setSubject:NSLocalizedString(@"Check this new look", @"")]; 
     [mailViewController setMessageBody: @"my new look" isHTML:YES]; 

     [self presentModalViewController:mailViewController animated:YES]; 

     [mailViewController release]; 
    } 
    else 
    { 
     UIAlertView *alertInternal = [[UIAlertView alloc] 
             initWithTitle: NSLocalizedString(@"Notification", @"") 
             message: NSLocalizedString(@"You have not configured your e-mail client.", @"") 
             delegate: nil 
             cancelButtonTitle:NSLocalizedString(@"OK", @"") 
             otherButtonTitles:nil]; 
     [alertInternal show]; 
     [alertInternal release]; 
    } 
} 

अजीब बात यह है कि कभी कभी ऐसा होता है, कभी कभी यह नहीं है है। कृपया इस पर मेरी मदद करें! मैं इसे हल करने के लिए लगभग 1 कार्य दिवस खर्च करता हूं लेकिन कोई सफल नहीं होता।

+1

डिवाइस या सिम्युलेटर पर आपका ऐप होने पर आप इस अपवाद पर जाते हैं? –

+1

अधिकतर मेलकॉमसेव व्यू से संबंधित नहीं है, लेकिन सामान्य रूप से UIView: QuickLook के साथ समान त्रुटि नोट मिला है। अभी भी डिबगिंग ... – JOM

+0

हाय जोम, क्या आपको इस त्रुटि पर कुछ नया पता चला? – Truong

उत्तर

2

आपका कोड सही दिखता है, और जैसा कि बताया गया है कि त्रुटि संदेश दृढ़ता से सुझाव देता है कि UIView उचित (MFMail विशेष रूप से नहीं) के साथ कुछ करने के लिए कुछ है। समस्या लगभग निश्चित रूप से आपके कोड के भीतर कहीं और स्थित है, और समस्या निवारण के लिए चुनौतीपूर्ण हो सकता है।

कुछ बातें देखने के लिए: जाहिर है

में से कोई भी अगर

  1. अन्य एनिमेशन या दृश्य नियंत्रक संक्रमण/शिकार एक साथ या गलत तरीके से हो रहा (possibly like this)
  2. रिलीज/मुद्दों को बनाए रखने यह ठीक लगता है, दृश्य नियंत्रक में जो कुछ भी हो रहा है, उसे टिप्पणी करने का प्रयास करें जो इस विधि को कॉल करता है और देखता है कि यह तब काम करता है या नहीं।

    यदि आप अभी भी इसे काम नहीं कर पा रहे हैं, तो कोड को विफल करने का सबसे सरल संस्करण प्रस्तुत करें ताकि हम आगे की समस्या निवारण कर सकें। :)

    मॉडल दृष्टि नियंत्रक के
+0

आपकी मदद के लिए धन्यवाद। मेरा पर्यवेक्षक इसे ले रहा था। तो अब और जांच नहीं करेंगे। – Truong

0

क्या आपके पास viewDidDisappear: या viewWillDisappear विधियों में कुछ भी है जो दृश्य नियंत्रक को खारिज कर देगा?

यदि नहीं, तो क्या आप ViewController के लिए अपना अधिक कोड पोस्ट कर सकते हैं जो MFMailComposeViewController प्रस्तुत करता है?

+0

मुझे पूरा यकीन है कि दृश्य के साथ कुछ भी गलत नहीं है DidDisappear या viewWillDisappear। लेकिन मैं अब आपकी जांच के लिए धन्यवाद नहीं कर रहा हूं इसलिए धन्यवाद। – Truong

+0

मैं अब इस बग की जांच नहीं कर रहा हूं। आपकी सहायता के लिए धन्यवाद. – Truong

-1

उपयोग उपयोग

[self presentViewController:mailView animated:YES completion:nil]; 
+0

इस तरह से मदद नहीं करता है। – Truong

0

मैं जानता हूँ कि यह देर से जबाब है IOS 6 में हटाई गई है,, लेकिन कुछ अन्य मदद हो सकती है।

अभी एक ही समस्या का सामना करें, resetting the simulator इसी मुद्दे के लिए मेरे लिए ठीक काम करें। मुझे बताएं क्या इससे मदद मिलती है।

3

यह समस्या रिमोट व्यू कंट्रोलर प्रदर्शित करते समय हो सकती है - एक दृश्य नियंत्रक किसी अन्य प्रक्रिया में चलाया जाता है - जैसा कि त्रुटि संदेश में UIViewService reference द्वारा इंगित किया गया है।

SKStoreProductViewController प्रदर्शित करते समय मुझे यह समस्या आई है, जो remote view controller भी है। मुझे यकीन नहीं है कि मूल कारण क्या है; एकमात्र चीज जो मेरे लिए इसे ट्रिगर करने लगती थी, बार-बार व्यू कंट्रोलर पेश कर रही थी।

SKStoreProductViewController के लिए मैं loadProductWithParameters:completionBlock: विधि के समापन ब्लॉक में इस त्रुटि की जांच करने में सक्षम था। क्या MFMailComposeViewControllerDelegate आपको इसके बारे में एक त्रुटि के साथ कॉलबैक देता है?ऐसा हो सकता है कि आप जो भी कर सकते हैं वह इस त्रुटि के लिए सुनें और उपयोगकर्ता को एक त्रुटि संदेश दिखाएं।

हमें शायद इसके बारे में एक सेब रडार फाइल करना चाहिए।

0

जब मैंने स्थानीय चर के बजाय मेरी कक्षा की एक मजबूत संपत्ति में MFMailComposeViewController को संग्रहीत करने के बाद मैं स्वयं को खारिज करने वाले व्यवहार को पुन: उत्पन्न नहीं कर सका।

+0

आप इस प्रश्न को टैग करना चाहते हैं। आईओएस प्रोग्रामिंग से संबंधित सवाल क्या है? –

0

अटैचमेंट फ़ंक्शन को कॉल करते समय मेरे लिए समस्या गलत तर्क थी। आप ईमेल अनुलग्नक मैं समाधान this thread में पाया निम्नलिखित सुझाव के साथ समस्या आ रही है, इस प्रकार हैं:

NSString *path = [self getDatabaseFilePath]; 
NSData *myData = [NSData dataWithContentsOfFile:path]; 
[picker addAttachmentData:myData mimeType:@"application/x-sqlite3" fileName:[path lastPathComponent]]; 
-1

मैं एक ही समस्या का सामना और समाधान था:

मैं समग्र आवेदन उपस्थिति संबंधित हटाना जैसे

[[UILabel appearance]setText:@""] 

और कोड कोड

[[UILabel appearanceWhenContainedIn:[self class], nil] setText:@""]; 
के साथ बदलें

अब यह ठीक काम कर रहा है, ताकि समग्र आवेदन उपस्थिति परिवर्तन पर सावधान हो: यह navigationbar उपस्थिति हो सकता है, तो और इतने

0

MFMailComposeViewController * mailComposer = [[MFMailComposeViewController alloc] init];

if ([MFMailComposeViewController canSendMail]) 
{ 
    mailComposer.mailComposeDelegate = self; 
    [mailComposer setToRecipients:[NSArray arrayWithObject:@"[email protected]"] ]; 
    [mailComposer setSubject:@"Kapsie App Contact Support"]; 
    [mailComposer setMessageBody:@"Type Your Feedback message here" isHTML:NO]; 
    [self presentViewController:mailComposer animated:YES completion:nil]; 
} 

उपरोक्त कोड का उपयोग करें और डिवाइस पर जांचें।

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