5

एक्सकोड 8.0 के साथ पहले से प्रकाशित ऐप को पुनर्निर्माण करना जो PLCrashReporter, AWS Cognito/SNS, और Google Analytics फ्रेमवर्क का उपयोग करता है।MFMailComposeViewController और आईओएस 10 के साथ गोपनीयता समस्याएं केवल

यह देखते हुए कि आईओएस 10.x डिवाइस पर केवल, मेल बनाम वीसी अब मेरे परीक्षण बाल्टी चलाने के दौरान प्रस्तुत नहीं किया जा रहा है। Xcode कंसोल में मैं इन संदेशों को तुरंत देख जब अगर ([MFMailComposeViewController.canSendMail]) तक पहुँच जाता है:

[MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles 
[MC] Filtering mail sheet accounts for bundle ID: [MY BUNDLE ID], source account management: 1 
[MC] Result: YES 

मैं सांत्वना संदेशों के इन प्रकार यहाँ करने के लिए एक संदर्भ पाया: UIActivityViewController crash on iOS 10

लेकिन मेरे एप्लिकेशन नहीं है तस्वीरों का उपयोग करें, फिर भी मैंने अपनी जानकारी के लिंक में नोट की गई फोटो गोपनीयता विवरण जोड़ने का प्रयास किया। ग्रिन के लिए प्लिस्ट लेकिन निश्चित रूप से कोई खुशी नहीं। समस्या बनी रहती है।

मेरा ऐप बारकोड स्कैनिंग के लिए कैमरा का उपयोग करता है। और कैमरा गोपनीयता विवरण info.plist में है और पिछले साल से ही रहा है। ऐप कोई अन्य विशेषताओं का उपयोग नहीं करता है जिसके लिए गोपनीयता विवरण की आवश्यकता होती है।

आईओएस 9.3.5 डिवाइस संलग्न होने पर अपेक्षित सटीक कोड और एक्ससी 8 सेटअप काम करता है।

किसी ने इसे अभी तक देखा है?

+0

मुझे भी इसी तरह के लॉग मिल रहे हैं, मैं अभी भी इसके स्रोत को दर्शाने की कोशिश कर रहा हूं, और Google को खोजने से कोई सकारात्मक परिणाम नहीं मिला है, चलो देखते रहें। –

+0

हाँ, मैं आईओएस 10 पर इसे ट्रिगर करने के बारे में शून्य करने में सक्षम नहीं हूं। सिर्फ grins के लिए मैंने plist को हर एक गोपनीयता विवरण जोड़ा है, अभी भी काम नहीं करता है लेकिन कम से कम उन संभावनाओं को समाप्त कर दिया है। – drshock

उत्तर

1

तो बहुत विश्लेषण के बाद मैंने अंततः पिछले सप्ताह के अंत में इस समस्या को समझ लिया। जानते हुए भी कि यह वास्तव में आईओएस 10 में MFMailComposeViewController गोपनीयता परिवर्तन के साथ कोई संबंध नहीं था के लिए महत्वपूर्ण इस लॉग संदेश था:

[MC] Result: YES 

आप मिलता है एक "नहीं" तो आप एक गोपनीयता समस्या है, लेकिन एक हाँ इंगित करता है कि गोपनीयता था कोई बात नहीं है। आखिर में, मेरे मामले में, यहां तक ​​कि समस्या आईओएस 10 में चलने वाले मेरे कोड में एक समय मुद्दा था।

उसी सटीक डिवाइस मॉडल पर परीक्षण किया जा रहा है, आईओएस 10 और आईओएस 9.3 के साथ एक। 5 समस्या एक त्रुटि पथ था UIAlertController वर्तमान अनुरोध को बुलाया जा रहा था जब एक और चेतावनी पहले ही प्रस्तुत की गई थी। आईओएस 9 .x और इससे पहले यह सिर्फ "भाग्य" था कि अपेक्षित व्यक्ति जीता और पहले हर बार प्रस्तुत किया गया। लेकिन आईओएस 10 पर यह हर बार ऐसा करने में असफल रहा और इसने मेरी स्थिति में एमएफमेल कॉमपॉइस व्यू कंट्रोलर को अवरुद्ध कर दिया।

निम्नलिखित कोड समस्याग्रस्त था:

[self dismissViewControllerAnimated:YES completion:^{ 
      [self presentViewController:crashMailAlertController animated:YES completion:nil]; 
     }]; 

मेरे मामले में सभी मैं चाहता था सुनिश्चित करने के लिए कि इस त्रुटि पथ UIAlertController हमेशा पेश किया गया था:

[self presentViewController:crashMailAlertController animated:YES completion:nil]; 

इस कोड के साथ यह जगह इस मुद्दे को हल सबसे पहले यह एक दुर्लभ घटना थी (केवल तभी जब एक दुर्घटना हुई थी), इसलिए किसी भी पिछली चेतावनी को पहले खारिज करना टिकट प्राप्त करना था ताकि MFMailComposeViewController अनुवर्ती बटन कार्रवाई में एम्बेड किया गया था।

0

साझा गतिविधियां संवाद (UIActivityViewController का उपयोग करके) को पॉप अप करने का प्रयास करते समय मुझे एक ही लॉग संदेश मिल रहा था। कोड आईओएस 9 में ठीक काम करता था, लेकिन आईओएस 10 में विफल रहा था (संवाद के बजाए, मुझे 2 पॉपअप मिल रहा था, जिसमें 'अधिक ...' था। मैं एक ही छवि में, एक सरणी में, गतिविधि के रूप में गुजर रहा था: [myImage] '। ऐसा प्रतीत होता है कि समस्या यह थी कि यह तर्क गैर-वैकल्पिक मानों की एक सरणी की अपेक्षा करता है, इसलिए '[myImage!]' में बदलकर समस्या हल हो गई।

सुनिश्चित नहीं है कि यह वर्णित समस्या का समाधान है, लेकिन शायद कुछ ऐसा ही काम करेगा।

0

मेरे लिए यह काम !!

if([MFMailComposeViewController canSendMail]) { 
     MFMailComposeViewController *mailCont = [[MFMailComposeViewController alloc] init]; 
     mailCont.mailComposeDelegate = self;  // Required to invoke mailComposeController when send 

     [mailCont setSubject:@"Mail Subject"]; 
     [mailCont setToRecipients:[NSArray arrayWithObject:@"[email protected]"]]; 
     [mailCont setMessageBody:@"" isHTML:NO]; 

     [self presentViewController:mailCont animated:YES completion:nil]; 
    }