iOS 9.0 Xcode 8.3.3 MfiBtPrinterConnection.h streming 蓝牙 maxLength Zebra ZQ520

Posted

技术标签:

【中文标题】iOS 9.0 Xcode 8.3.3 MfiBtPrinterConnection.h streming 蓝牙 maxLength Zebra ZQ520【英文标题】:iOS 9.0 Xcode 8.3.3 MfiBtPrinterConnection.h streming bluetooth maxLength Zebra ZQ520 【发布时间】:2017-09-18 18:02:00 【问题描述】:

我使用的是 Zebra 打印机 sdk,特别是我有一个 Zebra ZQ520。 我正在尝试从我在 Xcode (Object-C) 中的项目中向打印机发送一个字符串(使用名为“zpl”的专有语言)。

在此阶段之前,我将 * .pdf 转换为 * .grf 图像,然后获取整个字符串并启动打印机。到目前为止,它一直有效,但如果我采用更复杂的 pdf,我会收到此错误。

错误 - /BuildRoot/Library/Caches/com.apple.xbs/Sources/ExternalAccessory/ExternalAccessory-353.50.4/EAOutputStream.m:-[EAOutputStream write: maxLength:] - 283 写入失败,因为流没有 可用空间

我检查了我创建的连接来自 MfiBtPrinterConnection.h 类和实例,我创建的我只能使用这些方法 setTimeToWaitAfterWriteInMilliseconds 和 setTimeToWaitAfterReadInMilliseconds 触摸两个值。 SDK手册告诉你尽量增加时间,以防出现编写问题。我尝试了长达 30 秒,但没有。不幸的是,我无法访问源代码。

【问题讨论】:

你有没有找到解决这个问题的方法? 是的,我几个月前就修好了。 【参考方案1】:

我今天遇到了这个错误,虽然我的内容有所不同,希望它会对你有所帮助。我不得不将我的 .write 命令放在后台线程上。

             var error:NSError?
             DispatchQueue.global(qos: .background).async 
                MfiBtPrinterConnection?.write(data, withOffset: 0, andWithLength: data.count - 1, error: &error)
                if error != nil 
                print("Error executing data writing \(String(describing: error))")
             

现在我的数据打印出来了。

【讨论】:

以上是关于iOS 9.0 Xcode 8.3.3 MfiBtPrinterConnection.h streming 蓝牙 maxLength Zebra ZQ520的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 9.0 报错,Safe Area Layout Guide Before IOS 9.0

iOS 11/Xcode 9.0 中的 SFSafariViewController 空白

iOS 11 + Xcode 9.0 = 无音频单元

Xcode 10 - iOS 9.0 [12] 之前的安全区域布局指南错误

Xcode 7 beta 5 中 iOS 9.0 之前的 UIStackView

问题 XCode 8,Swift 2.3 存档版本在 IOS 9.2.1 -> IOS 9.0 上启动时崩溃