का उपयोग करके प्रिंट करता है I SDK का उपयोग करके Epson TM-T20
पर कुछ प्रिंट करने के लिए निम्न कोड का उपयोग कर रहा हूं। समस्या यह है कि ऐप केवल एक बार प्रिंट करता है। फिर से प्रिंट करने में सक्षम होने के लिए ऐप को पुनरारंभ करना होगा। कोड के साथ क्या गलत है?आईओएस केवल एक बार Epos2 प्रिंटर
printer = Epos2Printer(printerSeries: 2, lang: 1)
printer?.setReceiveEventDelegate(self)
printer?.addText("text")
printer!.connect("TCP:192.168.1.185", timeout:Int(EPOS2_PARAM_DEFAULT))
printer!.beginTransaction()
printer?.sendData(Int(EPOS2_PARAM_DEFAULT))
printer?.endTransaction()
// printer?.disconnect()
printer?.clearCommandBuffer()
printer?.setReceiveEventDelegate(nil)
दस्तावेज में इस्तेमाल किया जा रहा होने के बावजूद, printer?.disconnect()
का उपयोग करके ऐप फ्रीज बनाता है, तो मैं इसे बाहर टिप्पणी करने के लिए किया था।
यदि आप एपीआई दस्तावेज को देखना चाहते हैं, तो the SDK's download के अंदर एक पीडीएफ है।
अद्यतन: अद्यतन उत्तर के आधार पर कोड (एप्लिकेशन को अभी भी जमा):
func printReceipt() {
var printer: Epos2Printer?
printer = Epos2Printer(printerSeries: 2, lang: 1)
if printer == nil {
print(“Printer not found!! 11")
}
printer?.setReceiveEventDelegate(self)
printer?.addTextFont(2)
printer?.addTextSize(1, height: 1)
printer?.addText(“My Text")
printer?.addFeedUnit(10)
printer?.addCut(0)
var result: Int = Int(EPOS2_SUCCESS.rawValue)
result = Int(printer!.connect("TCP:192.168.1.185", timeout:Int(EPOS2_PARAM_DEFAULT)));
result = Int(printer!.beginTransaction())
printer?.sendData(Int(EPOS2_PARAM_DEFAULT))
DispatchQueue.global(qos: DispatchQoS.QoSClass.default).async {
printer?.clearCommandBuffer()
printer?.setReceiveEventDelegate(nil)
printer?.endTransaction()
printer?.disconnect()
printer = nil;
}
}
कोई फर्क नहीं पड़ता है जहाँ मैं डिस्कनेक्ट (कहते हैं), यह हमेशा एप्लिकेशन जमा। यदि मैं इसका उपयोग नहीं करता हूं, तो प्रिंटर को ऐप द्वारा कब्जा कर लिया जाता है ताकि कोई भी मेरे बाद कई मिनट तक प्रिंट न कर सके। – Linus