Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从TM-P60II打印时出现爱普生ePos sdk错误_Ios_Printing_Bluetooth_Epson - Fatal编程技术网

Ios 从TM-P60II打印时出现爱普生ePos sdk错误

Ios 从TM-P60II打印时出现爱普生ePos sdk错误,ios,printing,bluetooth,epson,Ios,Printing,Bluetooth,Epson,我正在使用epson ePOS sdk从iOS打印到TM-P60II。我可以连接和打印,但只能连接一两次。我在一两次尝试后出现超时错误,然后必须重新启动应用程序才能再次打印。我在sdk中的示例和他们手册中的p37示例中复制了错误。关闭/释放打印机时看起来像是某种错误。我已经向他们的技术支持部门寻求帮助,但一个月后又发了4封电子邮件,没有回复。(实际上前线的支持很好,问题出在第二层。) 我的问题是,有没有人经历过这一点,并制定了一个解决方案?我正在考虑改用斑马iMZ220(对这一举动的评论很受欢迎

我正在使用epson ePOS sdk从iOS打印到TM-P60II。我可以连接和打印,但只能连接一两次。我在一两次尝试后出现超时错误,然后必须重新启动应用程序才能再次打印。我在sdk中的示例和他们手册中的p37示例中复制了错误。关闭/释放打印机时看起来像是某种错误。我已经向他们的技术支持部门寻求帮助,但一个月后又发了4封电子邮件,没有回复。(实际上前线的支持很好,问题出在第二层。)

我的问题是,有没有人经历过这一点,并制定了一个解决方案?我正在考虑改用斑马iMZ220(对这一举动的评论很受欢迎),但我已经完成了90%的工作,我不想从头开始

谢谢

以下是p37示例的外观:

更新:爱普生联系过,这是iOS 7.1的一个已知错误。还没有关于修复的消息

更新2:新sdk已发布。。。还是不行。但是,如果您在一个单独的队列中启动它,似乎可以解决问题。当队列自动释放时,未释放的打印机项也随之释放。只要我没有造成内存泄漏,就可以进行更好的练习

更新3:请参见下面的代码。是的,它没有擦亮。请注意,PrinterUtils只是我对epson打印函数的包装。欢迎您的任何意见

id builder2 = [[EposBuilder alloc] initWithPrinterModel: @"TM-P60II" Lang: EPOS_OC_MODEL_ANK];
if (builder2 != nil) {
    errorStatus = EPOS_OC_SUCCESS;

    //Create a print document
    errorStatus = [builder2 addText: @"Hello,\t"];
    errorStatus = [builder2 addText: @"World!\n"];
    errorStatus = [builder2 addCut: EPOS_OC_CUT_FEED];

    //Initialize an EposBuilder class instance for confirmation
    id conBuilder2 = [[EposBuilder alloc] initWithPrinterModel: @"TM-P60II" Lang: EPOS_OC_MODEL_ANK];

    //Initialize an EposPrint class instance
    id printer2 = [[EposPrint alloc] init];
    unsigned long status;
    int connectionType = EPOS_OC_DEVTYPE_BLUETOOTH;
    if (printer2 != nil) {
        //<Start communication with the printer>
        errorStatus = [printer2 openPrinter:connectionType DeviceName:macAddress Enabled:EPOS_OC_FALSE Interval:EPOS_OC_PARAM_DEFAULT];

        //Send Data for confirmation
        errorStatus = [printer2 sendData:conBuilder2 Timeout:10000 Status:&status];

        if ((errorStatus = EPOS_OC_SUCCESS && (status & EPOS_OC_ST_OFF_LINE ) != EPOS_OC_ST_OFF_LINE) ) {
            //<Send print data>
            errorStatus = [printer2 sendData:builder2 Timeout:10000 Status:&status]; }

        //<End communication with the printer>
        errorStatus = [printer2 closePrinter];
    }
}

我在P60II上也遇到了这个问题,最终我给爱普生打了电话。第一级支持把我送到第二级,第二级说他们有固件更新。我浏览并填写了一份他们通过电子邮件发给我的表格,在大约30分钟内获得了固件。更新似乎已经纠正了这个问题。我拨打的电话号码是(562)276-1314,我选择了开发者支持。

Omg为此我整天都在碰壁。谢谢你的发帖!有人想出解决办法了吗?我们正在与爱普生合作解决此问题,但尚未收到他们的回复。好的,已看到发送更新。我要试试你的建议。这个问题已经有了有效的解决方案,如果你有类似的问题,你不应该发表轶事。请阅读SO关于如何提问的帮助页。:-)@JoJoe发布的固件更新解决了这个问题并不是一个“轶事”。这是其他人可能受益的有用信息,保罗甚至不厌其烦地把电话号码包括进去。我想是像你这样的人毁了我们其余的人。
// Busy Spinner
UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
spinner.center = CGPointMake (self.view.bounds.size.width * 0.5F, self.view.bounds.size.height * 0.5F);
spinner.hidesWhenStopped = YES;
[self.view addSubview:spinner];
[spinner startAnimating];
spinner.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin);

// Launch new queue
dispatch_queue_t myQueue = dispatch_queue_create("My Sync Queue",NULL);
dispatch_async(myQueue, ^{
    PrinterUtils *pu = [[PrinterUtils alloc] init];
    EposBuilder *builder = [pu getNewEposBuilder];
    EposPrint *printer = [pu getNewEposPrinter];
    [pu setPrintStyle:PRINTSTYLE_BODY2 eposBuilder:builder];
    [pu loadTextLine:@"bm print to tm-p60II" eposBuilder:builder];
    [pu print:builder eposPrint:printer ];
    [pu closePrinterConnection];

    dispatch_async(dispatch_get_main_queue(), ^{

        // Update the UI
        [spinner stopAnimating];
    });
});