2012-06-11 24 views
9

मैंने आखिरकार एक बग खींचा है जो वीडियो रिकॉर्ड करते समय UIImagePickerController को क्रैश करता है। जब आईफोन की वॉयसओवर एक्सेसिबिलिटी सेटिंग सक्षम होती है, तो presentModalViewController पर कॉल करते समय रिकॉर्डर विफल होने के बिना क्रैश हो जाता है।आईफोन वॉयसओवर एक्सेसिबिलिटी सेटिंग वीडियो रिकॉर्डिंग को क्रैश करती है

मैं अभी तक एक कामकाज के साथ आने में असफल रहा हूं। क्या किसी और ने इसका अनुभव किया है और इसे ठीक करने में सक्षम है?

+0

क्या ओएस संस्करण? यह किस ओएस संस्करण में मौजूद नहीं है? क्या आपने एक बग रिपोर्ट दर्ज करने पर विचार किया है? –

+0

मुझे इसका सामना करना पड़ रहा है, लेकिन केवल तभी जब कैमरे कंट्रोल को सेट किया गया हो। – kamens

+1

आपको अपने आईओएस डेवलपर खाते के साथ दो तकनीकी सहायता घटनाएं मिलती हैं। यह इसके लिए एक समय की तरह लगता है। यदि कोई कामकाज है, तो ऐप्पल के लोग जान जाएंगे। – Swizzlr

उत्तर

3

जैसा कि ऊपर टिप्पणी में उल्लेख किया @kamens, एक समाधान के लिए एक पूरा होने के ब्लॉक में camera.showsCameraControls = NO शामिल करने के लिए जब मोडल दृश्य नियंत्रक पेश, इस तरह है:

[controller presentViewController:self animated:YES completion:^{self.showsCameraControls = NO;}]; 

हालांकि, इस समाधान के साथ, कैमरा नियंत्रित करता है फ्लैश क्षणिक रूप से कैमरा प्रस्तुत किया जाता है, तो वे गायब हो जाते हैं। जाहिर है आदर्श नहीं जब नियंत्रण वास्तव में छिपाने की जरूरत है। अन्य कामकाज camera.showsCameraControls = OFF सेट करना है ... यहां तक ​​कि कम आदर्श भी।

*** -[PLCameraToggleButton setAccessibilityValue:]: message sent to deallocated instance 0x4a330b0 

@kamens, यहाँ कोड मैं mediaTypes और captureMode स्थापित करने के लिए उपयोग कर रहा हूँ है:


@quellish, इस दुर्घटना से उत्पादन होता है

tmpCamera.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie]; 
tmpCamera.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo; 
+0

शानदार! 1 पूरा दिन बिताने के बाद मुझे आपका जवाब मिला। बहुत बहुत धन्यवाद, यह मेरे लिए काम किया! –

1

जैसा कि @ जेम्स कहते हैं, यह आईओएस 5.1 में होता है जब:

  • [viewController presentViewController:picker animated:YES completion:nil];
  • योग्यता पहुंच विकल्प के लिए अपने कॉल में animated:NO का उपयोग करना picker.showsCameraControls = NO
  • का उपयोग सक्षम है।

... और, काफी, जब केवल पिकर द्वारा स्वीकार मीडिया प्रकार के रूप में फिल्मों को निर्दिष्ट:

  • picker.mediaTypes = [NSArray arrayWithObject: (NSString *) kUTTypeMovie]; और

    picker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType]; 
    

    ... जो ठीक काम करता है यह देखते हुए कि डिफ़ॉल्ट कैमरा नियंत्रण छिपे हुए हैं मैं प्रोग्राम के रूप में कर सकते हैं:


हालांकि, मैं ऊपर mediaTypes लाइन के लिए बदल कर इसे ठीक करने में सक्षम था नियंत्रित करें कि वीडियो रिकॉर्ड करना शुरू करें या कोई तस्वीर लें।

मैं इस दुर्घटना के कारण को समझने का दावा नहीं करता हूं।

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