Я пытался внедрить Brother Mobile SDK в мое приложение Nativescript + vue для IOS.
Моя проблема заключается в том, что я получаю следующее сообщение об ошибке: TypeError: printer.printImage is not a function. (In 'printer.printImage(image.cgImage)', 'printer.printImage' is undefined)
сообщение об ошибке предполагает, что файл javascript, который я использую для вызова SDK, предполагает, что метод printImage () не существует.
Вот фрагмент кода, который был запущен:
BrotherPrinter.prototype.print_image = function (PrinterName, paperSize, ipAddress, image) {
try {
let printer = new BRPtouchPrinter()
printer.printerName = PrinterName
printer.interface = CONNECTION_TYPE_WLAN
printer.setIPAddress(ipAddress)
let settings = new BRPtouchPrintInfo()
settings.strPaperName = paperSize
printer.setPrintInfo(settings)
if (printer.startCommunication()) {
//Print to the printer
let errorCode = printer.printImage(image.cgImage) //Apparently function doesn't exist.
if (errorCode != ERROR_NONE_){
console.log("Error - ", errorCode)
}
printer.endCommunication()
}
else{
console.log("Failed to connect")
}
}
catch(e) {
console.log("Error - ", e);
}
};
Я успешно смог реализовать методы setPrintInfo (), setIPAddress () и getStatus () в заголовочном файле BRPtouchPrinter.h. Все это работает и возвращает ожидаемые результаты. Я также могу подключиться к принтеру этикеток без проблем. Просто я не могу печатать на принтере, поскольку он предполагает, что метод printImage не существует, даже если метод существует в заголовочном файле.
Вот строка в заголовочном файле с методом:- (int)printImage:(CGImageRef*)imageRef copy:(int)nCopy;