2012-09-08 32 views
8

को आग नहीं करता है मैंने अपने स्वयं के प्रोजेक्ट में जेएक्सिंग प्रोजेक्ट लोड किया है। यह ठीक लोड करता है, ज़ेडएक्सिंग स्कैनर एक बटन कॉल के बाद पॉप अप करता है।आईफोन जेएक्सिंग क्यूआर स्कैनर - didscanresult फ़ंक्शन कभी भी

मैं थैक्सिंग कंट्रोलरडिड कैंसल पर व्यू कंट्रोलर को खारिज कर सकता हूं लेकिन जब मैं एक क्यूआर कोड स्कैन करता हूं, तो कोई कोड कभी पहचाना नहीं जाता है और इसलिए didScanResult फ़ंक्शन कभी भी आग नहीं लगाता है।

क्या किसी को इस बारे में कोई जानकारी है?

didScanResult फ़ंक्शन नीचे है।

-(void)zxingController:(ZXingWidgetController *)controller didScanResult:(NSString *)result{ 
resultLabel.text = result; 
NSLog(@"did scan!!!"); 
[self dismissModalViewControllerAnimated:NO]; 

}

नोट: मुझे यकीन है कि नहीं कर रहा हूँ अगर यह प्रासंगिक है, लेकिन जब स्कैनर ऊपर आता है, मैं इस अनुप्रयोग द्वारा लॉग मिलती है:

"wait_fences: 10,004,003: उत्तर प्राप्त करने में विफल रहा"
+0

क्या आप पोस्ट कर सकते हैं कि आप ZXingWidgetController कैसे बनाते हैं और दिखाते हैं? –

+0

मूल रूप से मैंने इसे अपने प्रोजेक्ट में जोड़ने पर इस ट्यूटोरियल के माध्यम से भाग लिया (http://yannickloriot.com/2011/04/how-to-install-zxing-in-xcode-4/) इसलिए मैंने उन्हें अपने व्यू कंट्रोलर में आयात किया .h फ़ाइल ZXingDelegate के 'didScanResult' और 'zxingControllerDidCancel' फ़ंक्शंस का उपयोग किया गया। zxingControllerDidCancel पहले बताए गए अनुसार पूरी तरह से काम करता है। क्या इससे मदद मिलती है? –

+0

10004003 त्रुटि को हल करने के लिए [इस सवाल] को देखें (http://stackoverflow.com/questions/1371346/wait-fences-failed-to-receive-reply-10004003)। – Daniel

उत्तर

4

यह ट्यूटोरियल यह उल्लेख नहीं करता है कि आपको के पाठकों के सेट में QRCodeReader जोड़ना होगा।

ZXingWidgetController एक संपत्ति readers कहा जाता है, जो एक NSSet पाठकों के उदाहरणों वाले है (उदाहरण के लिए QRCodeReader का एक उदाहरण है)। असल में, पाठकों का कार्य आपके कैमरे की छवियों का विश्लेषण करना और एन्कोडेड जानकारी निकालने के लिए है। आपके ZXingWidgetController को उन पाठकों के बारे में जानना है जिन्हें इसका उपयोग करना चाहिए, अन्यथा इसका अर्थपूर्ण कुछ भी करने का कोई मौका नहीं है। ZZingWidget प्रस्तुत करने से पहले आपको readers संपत्ति सेट करनी होगी।

जेएक्सिंग प्रोजेक्ट में नमूना ऐप है जो इसे प्रदर्शित करता है। यदि आप एआरसी का उपयोग करते हैं, तो

ZXingWidgetController *widController = [[ZXingWidgetController alloc] initWithDelegate:self showCancel:YES OneDMode:NO]; 
QRCodeReader* qRCodeReader = [[QRCodeReader alloc] init]; 
NSSet *readers = [[NSSet alloc] initWithObjects:qRCodeReader,nil]; 
widController.readers = readers; 
[self presentModalViewController:widController animated:YES]; 

करना चाहिए।

+0

आप निश्चित रूप से एक चैंपियन हैं! आपकी मदद के लिए बहुत बहुत धन्यवाद - यह अब पूरी तरह से काम कर रहा है :) –