家里有一台老iPad2,一直让我粘在餐厅墙上当挂钟使,本来相安无事,但不知道从啥时候开始翻页时钟这个APP老是闪退。
曾经想把它做个Homeassistant的Dashboard,最后却发现iOS9.3.5的浏览器内核早已过时,很多网页压根打不开。这里不得不吐槽下果子对旧设备的支持。本着图吧垃圾佬不放弃一个旧设备的精神,愣是花费了好几个周末找到一个算是还说得过去的解决方案。
主要是受论坛上这篇帖子启发:
Options for Lovelace on older iPad (ios 9.3.5) - Mobile Apps - Home Assistant Community
可见从2019年开始就有人折腾这事儿,总结来说,hass社区网友突出了不少乱七八糟的方案,有免登陆策略、换第三方dashboard等等,最后证明都不太可行。最后成功的方式是:在docker里面跑一个firefox浏览器,然后iPad安装VNC远程到firefox,算是个曲线救国的方案,但实际折腾中依然踩坑不少。
首先是浏览器docker的选择,笔者尝试了各种Chromium版本,发现占用都比较高,而帖子中用到的Docker资源占用是没问题的,跑在我的树莓派4里丝毫没压力,但一开始发现中文支持有些问题。修改ENABLE_CJK_FONT环境变量后解决。
搭建成功后可通过浏览器访问5800端口验证下:
第二个问题则是如果给iOS9的设备安装APP,这是最大的踩坑点。我先后尝试了各种越狱方法找老版ipa文件安装,但越狱似乎不是完美越狱,每次重启后要重新走一遍流程不说,电脑里还装了一堆入爱思助手这种垃圾软件。即使越狱成功,找到的IPA文件也极大可能性不可用,这里不得不吐槽下果子对于老设备的支持,根本找不到好用的历史版本。
论坛里很多人提到可以在其他iOS设备上购买新版本,然后就可以在AppStore的历史记录里下载最后兼容版本。这个逻辑让我简直想骂人,既然可以下载历史兼容版本,为啥不给个正常渠道,对于我这种早就带着全家弃暗投明转到安卓阵营的用户来说,手里根本没有任何苹果设备!
最后秉承着永不放弃的图吧精神,我终于找到了解决方案Reddit上的一个解决方案。Release v2.1.4 · majd/ipatool · GitHub下载ipatool。
- 解压
- 在解压文件夹打开cmd或powershell
- 键入
ipatool文件名 auth login -e {Your apple id's email} -p {Your apple id's password}
- 键入
ipatool文件名 purchase -b "com.realvnc.VNCViewer"
这时就可以在购买记录里找到vncviewer的购买记录了!引号里面是APP的bundle ID,苹果给出了查询方法Finding the App Bundle ID | PSPDFKit。
按照这个方法,也可以为老设备购买其他之前未购买的APP,不过不知道付费app是否可行,感兴趣的网友可自行验证。
最终成果如图所示,自制了一个电子表+简单信息展示的模型,网页全屏后效果还是不错的。这里iOS9.3.5最后支持的vnc版本是可以采用触屏控制模式的,后期考虑加一些开关进去,做一个真触控屏。