用于快捷指令动作的视频输入
我正在为快捷指令开发一个AppIntent / 动作,它接受来自Photos动作的视频输入(例如 "Select Photos")。
我所读到的一切都说 "IntentFile" 是唯一合适的数据类型,我此前也已经成功地用它来从同一个动作接收照片输入。
然而,在这个用例中,我观察到的情况如下:
| 魔术变量数据类型 | Swift变量数据类型 | 结果 |
|---|---|---|
"Photo media" (默认) 或 "File" |
"IntentFile" |
输入被拒绝——动作会重新提示输入,且魔术变量以红色高亮显示。 |
"Photo media" (默认) 或 "File" |
"[IntentFile]" |
输入被接受但为空——".count" 的值为0。 |
我也尝试添加中间步骤 "Save File",但没有改变行为。
我甚至尝试将视频编码为Base64,并作为字符串传入,但该操作似乎有最大数据大小限制。
令人震惊的是,我在网上找不到关于这个用例的任何信息,我几乎已经把Codex用尽,因此发了这篇帖子。
解决方案
看来这是iOS的一个bug,因为做完全相同的操作,但传入苹果自家的 "Save File" 动作时也会有同样的问题。
我发现的一个变通方法是在中间使用 "Encode Media"。但请注意,这会丢失元数据(例如日期时间和位置信息)。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。