在 AppDelegate

问题描述

在应用剪辑之前,我们的应用(如果已安装)可以通过扫描二维码启动。在这种情况下,AppDelegate 将使用有效载荷调用 NSUserActivity,我们将提取二维码数据进行解析和操作。

App Clip 启动后,同样的行为一直持续到最近(假设在 14.4 之前)。现在,如果用户安装了应用程序并扫描二维码,他们将获得应用程序剪辑卡以打开应用程序。如果用户点击“打开”,则启动完整的应用程序。但是,现在初始视图控制器在 AppDelegate 能够接收和解析 NSUserActivity 数据之前启动。我认为,这会造成某种竞争条件,即大多数时候初始根控制器格式错误或没有数据。

我的理解是 NSUserActivity 是处理应用程序启动的最佳方式,所以我不知道如何正确解决这个问题,而不是编写一些 hacky 解决方法

在我们的测试中,我们注意到一些有趣的情况,即 iOS 有时会在不显示应用剪辑卡的情况下启动完整的应用(不太频繁),并且完整的应用可以正常运行。但大多数情况下,它会显示应用剪辑卡,如果安装它会破坏我们的完整应用。

我们的完整应用和应用剪辑使用相同的域(通用应用链接),我们根据应用内的 URL 参数做出决策。基本上,我们的应用链接被配置为 example.com,并且在两个应用(即完整和应用剪辑)中,我们在 AppDelegate 中提取 business_name=FOOitem_id=BAR(其中完整 URL 可能是:{{1 }}。

我希望有人可以提供有关如何解决/修复此问题的建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)