欢迎光临散文网 会员登陆 & 注册

原神:我现在有多少树脂?iOS捷径(快捷指令)工具

2021-04-19 19:45 作者:今天修bug了吗  | 我要投稿

----NGA上有一篇相同的文章,来源是我自己搬运我自己----

开局先手放一个链接,iOS设备直接打开这个链接就可以直接添加快捷指令(需要拉到最底下才能添加,辛苦各位的手指了):
https://www.icloud.com/shortcuts/a055b118b8f84031869fba36137b946d

功能介绍

第一次使用时,会引导用户输入当前的树脂。考虑到大部分人的树脂应该是20/40/60一用,因此选项不是等差的。

在第二次以及之后使用时,用户可以看到当前的树脂(预计数量)以及预计回满的时间。可以自己在快捷列表里面更新当前的树脂数量。(选项尾数根据当前树脂尾数变动)

树脂更新完成后弹出通知显示预计回满的时间。

如果用户在输入树脂时已经溢出了 真的会有这种情况吗 ,则不会显示预计回满的时间而是直球提醒。

此时显示的预计回满时间为当前时间。

另外,因为捷径在iCloud中存储树脂数据(因此如果iCloud空间已满可能无法使用),所以可以跨设备进行查询。(这里显示的是跨语言以及12/24小时制的测试情况,测试结果看起来十分健壮 然后顾客点了一盘炒饭 )

高级玩法

如果使用iOS设备玩游戏,可以在自动化功能中设置退出原神时自动运行捷径,更方便记录

一些技术方面的小问题:

我一开始用的是NGA某个老哥(https://bbs.nga.cn/read.php?tid=26176881&page=2#pid505742509Anchor做出来的工具,但是后来我发现了几个非常神奇的问题:

1. 如果时间相隔超过一天的话显示的当前树脂会变成负数
2. 在24小时制下不能显示正确的上午/下午,比如下午6:08和上午6:08全部显示的是6:08。
3. 另外还有一个小问题就是我老记不得今天的日期,所以比起原po的绝对日期显示更喜欢今天/明天这样的相对显示方式。

因此为了解决这些问题,我就重复造轮子了。

通过以下方式,我回避了上面的问题:

1. 既然iOS的获取时间API写的一塌糊涂,那就不用它——参考Linux timestamp,我使用了一个“标准时刻”即2021/1/1 00:00,通过当前时间与这个标准时刻所差的分钟数来表示当前时刻以及树脂恢复满的时刻。这样就避免了iOS获取日期的混沌返回导致的负计算结果。

2. 我也不知道怎么做到的,总之它自己好起来了……

3. 我之前是使用捷径中自带的“获取两个日期之间的差”进行判断的,后来发现这个方法中对于“一天”的定义是24小时而不是一个自然日……
因此我使用的是自定义日期的方式,统一使用yyyyMMdd表示当前的日期和预计恢复满的日期,如果二者相减等于0则表示在今天,等于1则表示在明天。后天的情况等mhy给个更大的碗吧。


如果使用过程中有奇奇怪怪的bug,欢迎留言回复 要是能顺手直接debug就更棒了

原神:我现在有多少树脂?iOS捷径(快捷指令)工具的评论 (共 条)

分享到微博请遵守国家法律