You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS 16及以上版本从App创建主屏幕快捷方式的新方法咨询

问题描述

我希望为用户提供从我的App创建iOS主屏幕快捷方式以直达App内内容的功能。此前通过Safari加载嵌入data: URI的网页作为变通方案,但iOS 16及以上版本中,Safari已拒绝加载data: URI来源的网页。

目前已知的用户创建主屏幕图标方式存在局限:

  • 通过Safari→分享→添加到主屏幕:需从App内打开data: scheme链接,iOS 16+已失效
  • 通过快捷指令App分享并添加到主屏幕:操作繁琐,且不确定能否从自有App创建并提供安装(因分享似乎需Apple签名)

部分App Store中的图标替换/主题类App曾采用data: URI方法,现于iOS 16新版本中已失效。

已考虑的替代方案均不符合需求:

  • 用Widget作为快捷方式链接:尺寸不符合需求
  • 用Web服务器替代data: scheme:不愿维护服务器,且离线使用存在问题(6年前尝试过离线PWA,缓存情况不稳定)

现咨询是否存在类似简便或更简便的新方法?

解决方案

针对iOS 16+环境下创建主屏幕直达App内内容的快捷方式,以下是几个无需依赖data: URI或额外服务器的可行方案:

1. 利用快捷指令URL Scheme预填充快捷方式

通过构造shortcuts://create-shortcut格式的URL,可直接在快捷指令App中预填充“打开App”的动作(包含你的App自定义URL Scheme及深层链接参数),大幅简化用户操作步骤:

  • 构造示例:
    构造包含指定跳转逻辑的URL,让快捷指令直接打开你的App并跳转到目标页面:
    shortcuts://create-shortcut?name=直达我的页面&actions=[{"type":"openApp","parameters":{"appIdentifier":"com.yourapp.id","url":"yourapp://deep-link-path"}}]
    
  • 操作流程:用户从你的App中打开该URL,快捷指令App会自动生成已配置好的快捷方式,用户仅需点击“添加到主屏幕”,自定义图标和名称即可完成创建。
  • 优势:无需服务器,操作步骤少,兼容iOS 14+;无需Apple签名,仅需你的App支持自定义URL Scheme。

2. 基于App Intents框架实现系统级快捷方式

iOS 16+引入的App Intents框架允许你在App中定义自定义Intent,用户可直接从快捷指令App或主屏幕添加这些Intent作为快捷方式:

  • 实现步骤:
    1. 在App中创建自定义Intent(比如OpenSpecificContentIntent),定义要跳转的App内内容参数;
    2. 为Intent配置展示名称、图标等信息;
    3. 用户可在快捷指令App的“我的快捷指令”中找到你的App提供的Intent,或通过App内引导直接添加到主屏幕。
  • 优势:系统原生支持,无需依赖第三方工具;可离线使用,用户操作直观;支持自定义图标和名称,体验接近原生主屏幕图标。

3. 优化Widget交互(适配iOS 17+)

若你的目标用户覆盖iOS 17+,可利用Interactive Widgets优化Widget方案,解决尺寸问题:

  • 实现要点:
    创建小尺寸Widget(比如2x2或1x2),将Widget设计成快捷按钮样式,点击后通过WidgetKit的openURL方法跳转到App内指定内容;同时支持用户在Widget配置界面选择要直达的具体内容。
  • 优势:原生主屏幕组件,用户无需额外操作即可添加;支持离线使用,体验流畅。

内容的提问来源于stack exchange,提问作者Simon Laux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 19:52:30