Skip to main content

程序

模式兼容性

本模块部分方法通用(app_startscheme_startget_uuidget_ios_versionget_ip_addressnotifyset_clipboardget_clipboard),部分方法仅 WDA 模式可用(app_stopapp_currentlockunlockis_lockedopen_url)。

from ascript.ios import system

启动应用

打开已安装的应用。支持通过 名称Bundle IDURL Scheme 三种方式启动。

  • 函数
system.app_start(bundle_id: str = None, scheme: str = None, name: str = None,
arguments: typing.List[str] = [], environment: typing.Dict[str, str] = {})
参数类型是否必填说明
bundle_idstrBundle ID,如 "com.tencent.xin"
schemestrURL Scheme,如 "weixin://"
namestrApp 名称,如 "微信"
argumentsList[str]启动参数
environmentDict[str, str]环境变量
智能判断

第一个参数会自动识别:含 . 当作 bundle_id,不含 . 当作 App 名称。所以大部分情况直接传一个参数即可。

已内置 420+ 个常用 App 的名称、Bundle ID 和 URL Scheme 映射,点击查看完整列表

  • 示例
from ascript.ios import system

# 通过名称启动(最简单)
system.app_start("微信")

# 通过 Bundle ID 启动
system.app_start(bundle_id="com.tencent.xin")

# 通过 URL Scheme 启动
system.app_start(scheme="weixin://")
启动顺序

内部会按以下优先级尝试启动:

  1. URL Scheme 启动
  2. 名称 → 查表转 Bundle ID → Scheme 启动
  3. LSApplicationWorkspace 直接启动
  4. WDA 回退启动

停止应用

关闭已打开的应用

  • 函数
system.app_stop(bundle_id: str)
参数类型是否必填说明
bundle_idstr应用id
  • 示例
from ascript.ios import system

# 停止某信
system.app_stop(bundle_id="com.tencent.xin")

获取当前运行应用

获取当前运行的app

  • 函数
system.app_current()
  • 返回值

AppInfo对象 包行 name,pid,process_arguments,bundle_id 属性.

  • 示例
from ascript.ios import system

app = system.app_current()
print(app)
print("名称:", app.name)
print("进程:", app.pid)
print("进程参数:", app.process_arguments)
print("应用id:", app.bundle_id)

启动scheme

打开scheme 协议

如无法打开,请联系官方,告知协议头.
  • 函数
system.scheme_start(scheme:str)
参数类型是否必填说明
schemestrscheme 协议内容
  • 示例
from ascript.ios import system

system.scheme_start("ctrip://......")

打开网页

用Siri搜索网址

  • 函数
system.open_url(url:str)
  • 参数
参数类型是否必填说明
urlstr启动的网址 如:(http://www.airscript.com)
  • 示例
# 案例:打开AirSctipt 官网
#导包
from ascript.ios import system

# 输入网址,用Siri搜索
system.open_url("http://www.airscript.cn")

是否锁屏

判断当前设备的锁屏状态

  • 函数
system.is_locked()
  • 返回值

True:已锁屏 ,False:已解锁

  • 示例
#导包
from ascript.ios import system

res = system.is_locked()

if res:
print("已经锁屏")
else:
print("已解锁屏幕")

锁屏

设备立刻锁屏

  • 函数
system.lock()
  • 示例
#导包
from ascript.ios import system

system.lock()


解锁屏幕

设备立刻解锁屏幕

锁屏密码

如果设置有锁屏密码,则会点亮屏幕,阻塞程序. 直到用户输入锁屏密码

  • 函数
system.unlock()
  • 示例
#导包
from ascript.ios import system

system.unlock()


发送系统通知

该方法只在AScript在后台时生效.

发送手机通知

  • 函数
system.notify(msg: str, title: str = None, _id: str = "9096")
  • 参数
参数类型是否必填说明
msgstr消息体
titleint默认当前APP名称
strstr消息ID,默认9096.相同的id,通知会覆盖
  • 示例
from ascript.ios import system
system.notify("我弹出来了,小老弟")

获取UUID

UUID 和 UDID不同,但也可以用来判断设备的唯一性

  • 函数
system.get_uuid()
  • 示例
from ascript.ios import system
uuid = system.get_uuid()
print(uuid)

获取IOS系统版本

可以获取IOS系统的版本号

  • 函数
system.get_ios_version()
  • 示例
from ascript.ios import system
version = system.get_ios_version()
print(version)

获取IP地址

可以获取当前wifi的ip地址

  • 函数
system.get_ip_address()
  • 示例
from ascript.ios import system
address = system.get_ip_address()
print(address)