Scripting 让您可通过 TypeScript 脚本创建交互式 Intents。该应用封装了 SwiftUI 视图,允许用户构建动态 UI,并与 iOS 分享面板(share sheet)和 Shortcuts 应用进行集成。
使用 Scripting,用户可以通过在 intent.tsx
文件中编写 TypeScript 来创建 Intents,从而与 iOS 的分享面板(share sheet)和 Shortcuts 无缝集成,为用户提供自定义体验。
创建 UI 并处理 Intent 所需的所有 API 和视图都可以从 "scripting"
包中导入。
要创建一个 iOS Intent:
intent.tsx
文件:在此文件中定义该 Intent 的逻辑和 UI。在 intent.tsx
中,可使用以下 API 访问用户传递的输入:
Intent.shortcutParameter
:快捷指令传递过来的参数,你可以通过Intent.shortcutParameter.type
来检测数据类型,并通过Intent.shortcutParameter.value
访问数据Intent.textsParameter
:文本输入的数组Intent.imagesParameter
:图片输入的数组Intent.fileURLsParameter
:文件 URL 的数组Intent.urlsParameter
:URL 输入的数组要向调用方返回结果:
使用 Script.exit()
方法,并传入一个 IntentValue 作为参数。例如:
若需在返回结果之前基于输入展示 UI,可创建一个 function component 并使用 Navigation.present()
。由于 Navigation.present()
返回一个 Promise,为避免内存泄漏,需妥善处理该 Promise。可将功能包装在一个 async
函数中,并在最后调用 Script.exit()
。
示例:
当脚本配置为支持特定输入类型(如 text、image、URL 或 file URL)后,Scripting 将与 iOS 分享面板(share sheet)集成,让用户可快速处理选定内容:
intent.tsx
并传入定义好的输入。