AirTerminal 是一个蓝牙终端和 XMODEM 文件传输工具。具体功能可参考我过去的文章

在这个春节,我为 AirTerminal 增加了日志记录功能,同时改用 SwiftTerm 实现终端模拟器。新版本可在 App Store 中下载

日志记录

大部分 SSH/Telnet 工具都具备日志记录功能,能够将终端输出的内容保存在文本文件中。

对于调试嵌入式设备等应用场景,如果设备通过串口输出大量信息,同时又不支持通过 lessmore 这样的工具进行翻页,就可以使用日志记录功能,保存输出内容,方便后续查阅。

启用日志记录功能,只需要在终端中点击右上角的按钮,选择 Enable Logging 即可:

AirTerminal 截图,可以选择 Enable Logging 打开日志功能

AirTerminal 的日志记录功能

记录下的日志文件,可以在 iOS/iPad OS 的「文件」App 中查看。也可以将 iPhone/iPad 连接电脑,通过 iTunes 或 Finder 导出:

在 iOS Files App 中查看 AirTerminal 产生的日志

在 Files App 中查看日志

目前 AirTerminal 的日志记录功能比较基础,只是将蓝牙接收到的数据原封不动地记录到文件。如果在 AirTerminal 中使用 vim、tmux 等工具,则记录的日志不方便用户阅读。这部分功能需要进一步优化。

日志记录的功能建议,是由 Twitter 用户 @AllAboutJake 提出的,非常感谢这位推友。如果读者对 AirTerminal 还有其他建议,也欢迎与我联系。

改用 SwiftTerm

AirTerminal 原先基于 WKWebViewxterm.js,通过 Web 的方式实现终端模拟器。简单说,就是 AirTerminal 调用浏览器,在浏览器中加载网页,来显示终端。终端的大部分功能都是在网页中实现的。

通过这种方式实现终端,在开发与调试的过程中,遇到了不少 UI 细节的问题,为了规避这些问题,代码中增加了不少处理。同时,还需要使用 JavaScriptCore,实现 Web 页面与 App 之间的交互。整体上代码不是很优雅。

最近我在使用 Secure ShellFish 时,发现这款 App 使用了 SwiftTerm。SwiftTerm 是用 Swift 实现的终端模拟器,专门为 iOS 和 macOS 打造。使用 SwiftTerm,能让 AirTerminal 的代码简洁不少,同时后续可以基于 SwiftTerm 实现更多功能。所以,在 AirTermnal 1.3 中,我使用 SwiftTerm 替换了 xterm.js,来实现终端模拟器。

后续计划

由于工作等各方面的的原因,在 2022 年,我的空闲时间不是很多,AirTerminal 也主要保持在维护状态。如果还有时间的话,可能会尝试为 AirTerminal 优化 UI、增加多 Tab 和多窗口支持、完善 CJK 支持等……

最后修改日期: 2022-02-23

留言

许先生 

一直在你你这款产品,也在推荐给淘宝卖ble串口设备推荐你的产品,就是希望提高你产品知名度,你在更新1.3版本后就升级了,现在有个bug,命令后显示的信息,不能触摸上下滚动了,这样信息多了就错过了,希望改进一下,这么好用的产品买断价格太低了

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据