问题标签 [apple-appclips]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
143 浏览

swift - AppClip 如何从 URL 中获取查询项

当 AppClips 打开时,我想从链接中读取令牌的值 => https://example.com/token=12ds234vssd

这是 SwiftUI 示例:

如何使用 UIKit 编写代码?

我可以在 UIKit 上编写相同的语法吗?

0 投票
0 回答
171 浏览

ios - 在 AppDelegate 中使用 NSUserAcitivty 的应用程序剪辑的相同 URL 的 ios 应用程序启动不一致

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

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

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

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

我们的完整应用程序和应用程序剪辑使用相同的域(通用应用程序链接),我们根据应用程序内的 URL 参数进行决策。基本上,我们的 applink 配置为example.com在两个应用程序中(即完整和应用程序剪辑),我们提取business_name=FOOitem_id=BAR在 AppDelegate 中(其中完整的 URL 可能是:example.com/buiness_name=FOO&item_id=BAR.

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

0 投票
0 回答
199 浏览

ios - iOS App Clip - openSettingsURLString / "app-settings:"

在我的 Swift iOS 应用程序中,我有使用用户位置的代码。当用户拒绝允许用户位置访问时,我们会收到一条警告消息,让用户可以选择转到设置页面来更改他们的决定。如果他们选择该选项,我们将打开应用程序的设置,如下所示:

这一切都很好。还值得注意的是 openSettingsURLString 解析为“app-settings:”

我在我的应用程序的 App Clip 中重复使用相同的代码。在我的 App Clip 中,openSettingsURLString 也解析为“app-settings:”,我相信 iOS 会将其解析为我的 App Clip 的应用设置页面。相反,iOS 似乎想要将“应用程序设置:”解析为我的主应用程序的设置页面(并且在更可能的情况下,主应用程序未安装在设备上,它只是将我带到早期页面在“设置”应用中)。

有没有办法打开 App Clip 的设置页面?

0 投票
0 回答
58 浏览

ios - 完整应用安装后的应用剪辑推送通知

Apple App Clips 无需从 App Store 下载即可获得快速的 iOS 体验。这些 App Clips 允许在启动后长达 8 小时的临时通知。在应用程序剪辑中,开发人员有机会展示完整应用程序的下载横幅。下载完整的应用程序后,它将替换 App Clip。

我的问题是:如果在这 8 小时的窗口内安装了完整的应用程序,临时通知授权会发生什么情况?完整的应用程序是否仍能在此期间的剩余时间内收到通知?还是整个应用程序需要请求通知权限?这是如何运作的?

0 投票
2 回答
225 浏览

ios - 无法使用 Ad Hoc 分发单独导出 App Clip

我为我的应用程序创建了一个应用程序剪辑,我可以在我的 iPhone 上从 XCode(版本 12.4 (12D4e))启动它。我可以在 iPhone 的 App Library 中看到 App Clip。

接下来,我想创建一个 Ad Hoc 分发,以便我的团队成员可以加载 App Clip 进行测试。

根据https://developer.apple.com/documentation/app_clips/distributing_your_app_clip

“您也可以选择 Ad Hoc 或 Development 分发。请注意,在这些情况下,您需要分别导出App Clip 和完整的应用程序。”

我的 App Clip 确实有一个单独的标识符和 Ad Hoc 配置文件,当我归档我的应用程序并选择分发它 Ad Hoc 时,我确保我的应用程序和应用程序剪辑的配置文件都被选中并且能够成功通过导出过程。我还在应用程序的存档和导出后的最终 IPA 中看到了我的应用程序剪辑。然而,在应用细化等之后,在最终的 Review ipa 屏幕中只有一个导出按钮,用于导出主应用的 IPA。

如何单独导出 App Clip?我没有看到单独导出它们的选项。导出后我只看到我的应用程序的 IPA。App Clip 在我的 App 的 IPA 中,但不是一个单独的实体。

临时分发过程

最后,在我的 App Thinning Size Report.txt 中,我没有看到我的 App Clip 的任何条目。以下是内容:

变体:XXXXXX.ipa 支持的变体描述符:通用应用程序 + 按需资源大小:20.6 MB 压缩,43.1 MB 未压缩应用程序大小:20.6 MB 压缩,43.1 MB 未压缩按需资源大小:零 KB 压缩,零 KB 未压缩

将不胜感激任何帮助。谢谢。

0 投票
1 回答
269 浏览

ios - 完整应用程序 - 应用程序剪辑调用的关联域

根据 Apple 文档,当用户安装完整的应用程序时,应用程序剪辑调用会启动完整的应用程序。它说要将完整的应用程序与网站相关联。

此关联是否意味着添加appclips:<domain>或添加applinks:<domain>完整应用程序的权利?

我知道applinks:<domain>应该添加到应用程序剪辑中。我不确定的是完整应用程序对关联域的权利。

https://developer.apple.com/documentation/app_clips/configuring_your_app_clip_s_launch_experience

重要当用户安装 App Clip 对应的 App 时,完整的 App 会取代 App Clip。从那一刻起,每次调用都会启动完整的应用程序而不是 App Clip。因此,您还必须将整个应用程序与您的网站相关联。此外,完整的应用程序必须处理所有调用并提供 App Clip 的功能。

0 投票
1 回答
462 浏览

ios - 如何在没有嵌入 App Clip 的情况下构建 App IPA?

我正在为现有应用程序制作 App Clip,但 App Clip 尚未准备好发布。但是,我需要将应用程序部署到 TestFlight/AppStore 以修复错误。

在不删除 XCode 项目中的 App Clip 目标和代码的情况下,将 App Clip 从 App 中排除的最佳方法是什么?我只想构建一个没有 App Clip 的 App IPA,这样我就可以在不从项目中删除 App Clip 目标/代码的情况下提交到 TestFlight/AppStore。

在此处输入图像描述

查看项目的构建阶段,我想我需要首先将 App Clip 作为依赖关系从 App 的目标中删除。然后是“嵌入应用程序剪辑”构建阶段。我不能只在 Embed App Clips 构建阶段删除 AppClip - Archive 将在 App IPA 中创建一个空的 AppClips 文件夹。我必须从 Build Phases 中删除 Embed App Clips,但是如果我将其删除,则没有明显的方法可以将其添加回来,至少我看不到它。

在此处输入图像描述

目前我唯一的选择是编写存档后操作运行脚本以将其从存档中删除。

有没有人遇到过这种情况,并希望得到任何帮助。

谢谢

0 投票
1 回答
29 浏览

server - 如何创建没有扩展名的 Apple“关联域文件”

根据 Apple 的文档,我需要在我的网站上添加一个名为apple-app-site-association的文件, 而无需扩展名才能使用 App Clips:

要将关联的域文件添加到您的网站,请创建一个名为 apple-app-site-association 的文件(不带扩展名)。

但是,我似乎无法做到这一点。根据 iPage 支持,不可能有没有扩展名的文件。

问题:这个文件是否真的需要没有扩展名,或者是否有我可以使用的可接受的扩展名?你会建议我在这里做什么,因为 iPage 说这是不可能的?

谢谢!

0 投票
0 回答
108 浏览

ios - 如果 iOS App Clip 的 App 已经具备推送通知功能,它是否需要它?

我有一个配置了推送通知功能的现有 ios Swift 应用程序。它可以接收推送通知。

作为向 App 添加 App Clip 的一部分,我是否还需要向 App Clip 添加推送通知功能?

如果是这种情况,我是否还需要向 Apple 创建/注册一组额外的推送通知 SSL 证书,以便能够向应用程序/appclip 发送远程消息,或者我可以使用我为应用程序注册的现有 SSL 证书吗? ?

0 投票
0 回答
29 浏览

ios - 调用了不需要的默认应用剪辑体验

我正在为一家加油公司开发 iOS 应用程序。该应用程序有应用程序剪辑,应该只能通过在加油站扫描二维码来调用。每个二维码都包含加油站标识符和加油机索引,因此用户(司机)可以快速选择燃料、容量并开始加油。

从技术上讲,在didFinishLaunchingWithOptions微调器中显示“正在加载...”。

然后在continue userActivity加油站 id 从 url 中解析出来,并为用户提供加油界面。

这一切都在生产中运行良好。

但是即将到来的应用更新突然被拒绝了。

苹果测试人员以某种方式设法在没有调用的情况下启动了应用程序剪辑

结果,加载微调器永远动画并且没有任何反应。

我知道存在“默认应用程序剪辑体验”,但在这种情况下没有任何意义。在不知道加油站 ID 的情况下,没有什么可以呈现给用户。我们故意没有添加app-clip-bundle-id到我们网站上的智能应用横幅。而且我相信它不可能调用默认的应用程序剪辑体验。

但是,他们将其报告为错误,并且不透露细节。

长话短说:如果app-clip-bundle-id没有添加到智能应用横幅content属性中,如何调用默认应用剪辑体验?