先说个结论,免得绕弯子:MacroDroid这个应用,它压根儿就是为Android量身打造的,跟Mac完全不搭界。所以,想直接在Mac上装这个App来获取天气数据,趁早断了这个念头。

Mac用户要是想自动抓取当前温度、天气状况,用来触发个什么工作流,其实有更省心也原生的办法。直接调用macOS自带的“天气”App,或者用Automator配合公开API,都能把这事儿办得漂漂亮亮,还不用折腾什么模拟器,稳定性和权限都妥妥的。

所以,首先得把期望值摆正。别去搜什么“MacroDroid for Mac”了,网上搜出来的结果,十有八九是挂羊头卖狗肉的,或者让你去用Android模拟器——那路子,不稳定不说,权限还绑手绑脚的,体验极差。一句话:MacroDroid在Mac上原生跑不起来,所有试图“安装”它的操作,要么无效,要么纯属折腾。

Mac上替代MacroDroid实现天气自动获取的可行路径

好,既然此路不通,就来看看macOS自家生态里有什么靠谱的方案。不仅有,而且门槛低,稳定,直接调用系统层面的天气服务就行。

方案一:快捷指令 + 天气App原生数据

这个方法最直接,也最简单,适合大多数用户。把“快捷指令”当成一个轻量的“天气播报员”就行。

操作上,打开「快捷指令」App,新建一个,取名“获取当前天气”。接着,添加操作,搜索并添加「获取当前天气」这个动作。这个动作会自动读取你「天气」App里设置的主要城市的数据,包括温度、天气状况、湿度和风速,非常干净。然后,再添加个「显示通知」或「文本」动作,把变量里的「当前温度」和「天气状况」给拼成一句完整的话,比如“现在上海,22度,多云”。最后,在右上角的设置里,把“运行前询问”关掉,再允许一下“不受信任的快捷指令”。这之后,你既可以手动跑,也能在「个人自动化」里给它定个时,比如每天早上8点自动运行,推送一条天气通知。

方案二:Automator + Shell脚本调取气象API

如果觉得快捷指令的数据颗粒度不够细,想要紫外线指数、日出时间这些更详细的信息,那可以试试这条路。Automator很多人可能觉得鸡肋,但配合Shell脚本调用公开API,潜力可不小。

打开Automator,新建一个「快速操作」。在左侧的「实用工具」里,找到并拖入「运行Shell脚本」。在脚本框里,直接敲一行命令:

curl -s "https://wttr.in/?format=%t+%C+%h+%w" | tr -d "'"

这行命令会去调用一个叫wttr.in的公开天气服务(注意:该服务在国内网络下连接速度可能不太稳定)。如果觉得不放心,或者网络环境受限,可以换成Apple自己家的WeatherKit API,不过那需要开发者账号和配置签名密钥,门槛稍微高了那么一丢丢。

确保天气数据准确的前提设置

不管用前面哪种自动化方法,有个基础准备工作不做,所有动作都是白搭——你得确保系统「天气」App能获得你的真实位置。

先去「系统设置」->「隐私与安全性」->「定位服务」,把顶部的开关打开,然后在下方的应用列表里,分别找到「天气」和「通知中心」,把它们的定位权限都给勾选上。

然后,打开「天气」App,点击左下角的那个列表图标,添加你的城市(比如“上海”),把它长按拖动到列表的最顶端。这一步至关重要:只有排在第一位的城市,才会被快捷指令或系统服务当成“当前城市”来读取天气数据。

本文转载于:https://www.php.cn/faq/2623108.html?uid=1431639 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。