创建一个苹果小程序 App Clip 你该知道哪些事

840 阅读4分钟

App Clip三部曲

  1. 学习 iOS14 新特性,教你如何创建一个优秀的 App Clip
  2. 创建一个苹果小程序 App Clip 你该知道哪些事
  3. 如何让你的 App Clip 拥有好的用户体验

前言

原文:HelloWord杰少 链接:创建一个苹果小程序 App Clip 你该知道哪些事

在 Xcode 工程中,你可以为你的 App 添加一个 app clip target, 利用 Xcode ,app clip 可以与你的 app 共享代码与资源,并可以编译,调试,运行在真机或者模拟器环境。但是,在实际使用过程中,开发者必须在自己的服务器上做好验证 app clip 的有效性的手段。

添加一个 App Clip Target

  1. 利用 Xcode 创建一个 iOS 工程
  2. 利用 App Clip template 为该 iOS 工程创建一个新的 Target
  3. 输入 App clip 的名称,以及为 app clip 选择合适的选项并点击完成

通过以上步骤,Xcode 会自动为你创建你所需的文件,为你的 app clip 的 Target 生成如下内容:

  • 一个用于你 app clip 编译,运行,测试的 scheme
  • 新的 capability
  • Parent Application Identifiers Entitlement.
  • App clip 的 bundleID
  • 供你测试 App clip 的环境变量 _XCAppClipURL
  • 支持设备调试 当创建完成后,在模拟器或者真机上运行 app clip, 看是否报错。

添加 Associated Domains Entitlement

  • App clip 可以通过用户传入的一个 URL(例如:扫码)来唤起
  • 用户可通过 app clip 传递给主 app 一个URL 的方式安装完整应用 要支持以上俩种调用方式,必须在 app 和 app clip 中加入 Associated Domains Entitlement:
  1. 打开工程设置,在 Associated Domains capability 中加入 the Associated Domains Entitlement
  2. 使用以下样式将其 domain 添加到 Associated Domains capability 功能中:appclips:.

添加代码与资源

为 App clip 编写代码逻辑和添加 asset 资源与正常开发 iOS App 没有什么区别,但是为了工程的可维护性,App clip 与完整的应用程序应该尽可能多的分享代码:

  • 如果你创建了一个新的 app, 并且带有 app clip 功能, 那么开发请遵循基于代码模块化的最佳实践,例如, 创建可重复使用的组件。
  • 如果为现有的 app 添加 app clip,建议先花点时间将代码重构为模块化,与 app clip 共享,避免代码重复
  • 在完整的应用程序与 app clip 中,Assets 资源共享

使用 Active Compilation Conditions

在 app clip 和完整应用之间共享代码时,可能会遇到无法在 app clip 中使用某些代码的情况。在这些情况下,请设置 Active Compilation Conditions ,在其中可以声明排除代码的条件。

在 app clip 的工程设置中找到 Active Compilation Conditions ,并为其添加一个值,例如:APPCLIP,然后在共享的代码中加入判读,示例如下:

#if !APPCLIP
// Code you don't want to use in your app clip.
#else
// Code your app clip may access.
#endif

服务器配置

在系统弹出 app clip 或允许 app clip 调用之前,系统会验证 app clip 的配置和调用的URL。如果无法执行验证,则不会显示app clip,也不会启动。为了使系统能够验证您的 app clip,您需要对你的 Web 服务器和 Xcode 项目进行配置:

  • 为你的服务器添加一个 Apple App Site Association 文件
  • 在 Apple App Site Association 文件中添加一个键值对,key 为 appclips,例如:
{
    "appclips": {
        "apps": ["ABCED12345.com.example.MyApp.Clip"]
    }
    ...
}
  • 打开 Xcode ,为 app 和 app clip 中的 Associated

Domains Entitlement 配置服务器域名

在 App Store Connect 中注册 App Clip 系统使用您在 App Store Connect 中配置的 URL 来启动您的 app clip。因此,识别启动 app clip 的URL,在启动时对其进行响应并在 App Store Connect 中注册它们对于创建 app clip 至关重要。

发布 App Clip

准备发布 app clip 时,请将其作为 app archive 的一部分提交。请注意,必须通过App Store 审核,才能发布。

作为一个ios开发者,遇到问题的时候,有一个学习的氛围跟一个交流圈子特别重要对自身有很大帮助,众人拾柴火焰高 这是一个我的iOS交流群:711315161,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。