ios scriptable 桌面小组件开发

种地  论坛元老 | 2024-6-13 12:44:38 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1089|帖子 1089|积分 3267

ios 桌面小组件开发

迩来抖音上看到很人在秀自己水果手机上华丽的小组件,但可恶的是并没有分享该怎样实现.颠末我一番探查,原来是ios14以后水果出了一个叫做scriptable的app,可以通过javascript来自己定制化开发小组件.
scriptable

描述

Automate iOS using JavaScript .官网地点
特性


  • 纯js编程,支持es6
  • 通过js直接调用ios本机api,如许可以同一些本机步调进行交互来获取数据
  • Siri快捷方式:从Siri快捷方式运行脚本。在Siri中展示表格、网站、HTML等。
  • 美满的api文档
  • 共享菜单集成:将 Scriptable 集成到 iOS 的共享菜单中。当在其他应用步调中选择共享选项时,可以选择 Scriptable,并将所选内容作为输入通报给脚本。
  • 文件操纵:Scriptable 提供了对文件系统的访问能力。您可以读取和写入文件,创建文件夹,管理文件和目录等。
  • 用户界面:Scriptable 允许您创建简朴的用户界面,以便与用户进行交互。您可以显示警报、菜单、文本输入框等,以便用户提供输入或进行选择。
  • 支持回调函数,利用回调函数与其他app通信
利用


  • scriptable的利用并不复杂,在appstore中可以直接下载
  • 打开Scriptable,点击右上角 + 号,粘贴刚刚自动复制的代码,点击右下角 ▶ 运行 可以预览效果
  • 长按桌面,添加组件,选择 Scriptable,然后点击组件配置,选择刚刚生存的脚本即可
Demo

  1. // 判断是否是运行在桌面的组件中
  2. if (config.runsInWidget) {
  3.   // 创建一个显示元素列表的小部件
  4.   // 显示元素列表的小部件。将小部件传递给 Script.setWidget() 将其显示在您的主屏幕上。
  5.   // 请注意,小部件会定期刷新,小部件刷新的速率很大程度上取决于操作系统。
  6.   // 另请注意,在小部件中运行脚本时存在内存限制。当使用太多内存时,小部件将崩溃并且无法正确呈现。
  7.   const widget = new ListWidget();
  8.   // 添加文本物件
  9.   const text = widget.addText("Hello, World!");
  10.   // 设置字体颜色
  11.   text.textColor = new Color("#000000");
  12.   // 设置字体大小
  13.   text.font = Font.boldSystemFont(36);
  14.   // 设置文字对齐方式
  15.   text.centerAlignText();
  16.   // 新建线性渐变物件
  17.   const gradient = new LinearGradient();
  18.   // 每种颜色的位置,每个位置应该是 0 到 1 范围内的值,并指示渐变colors数组中每种颜色的位置
  19.   gradient.locations = [0, 1];
  20.   // 渐变的颜色。locations颜色数组应包含与渐变属性相同数量的元素。
  21.   gradient.colors = [new Color("#F5DB1A"), new Color("#F3B626")];
  22.   // 把设置好的渐变色配置给显示元素列表的小部件背景
  23.   widget.backgroundGradient = gradient;
  24.   // 设置部件
  25.   Script.setWidget(widget);
  26. }
复制代码
效果是如许的:

开发辅助

小件件开发框架

scriptable需要在手机上敲代码,像上面demo那种简朴的例子还好,要是复杂点的,照旧要借助框架在电脑上开发比较好(js大神当我没说)
小件件开发框架是一个便于开发者在电脑上开发、测试、预览 iOS 小组件(Scriptable)的开发框架
通过简朴安装,就可以获得一个舒适的Scriptable脚本开发环境,支持语法高亮、自动补全、及时同步测试预览。不用再在手机上敲代码了!而且该开发框架封装了很多常用的操纵接口,让开发者专注数据解析+小组件UI设计,大大节省开发时间!
小件件git地点
此框架搭建很简朴,稍有前端开发经验的人都可以几分钟内搞定,之后按照readme.md中的提示一步一步操纵就好了.每次在pc端写好代码ctrl+s生存后,代码就会同步到手机端.
stream抓包工具

假如想开发基于某个app的小组件,大概会利用到抓包工具,stream在app store中就可以下载而且利用简朴.
制品

基于以上内容,同时模拟大神开发的已有小组件,做了一个bmw app的小组件,以后看车辆及时信息就不用点进去了,效果也是非常的炸裂

参考


  • MangoGoing 用js玩转Scriptable,超简朴教程

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表