App Clip 苹果小程序开发须知

举报
HelloWorld杰少 发表于 2022/08/23 10:27:26 2022/08/23
【摘要】 前言在 Xcode 工程中,你可以为你的 App 添加一个 app clip target, 利用 Xcode ,app clip 可以与你的 app 共享代码与资源,并可以编译,调试,运行在真机或者模拟器环境。但是,在实际使用过程中,开发者必须在自己的服务器上做好验证 app clip 的有效性的手段。 添加一个 App Clip Target利用 Xcode 创建一个 iOS 工程利用...

前言

在 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 选择合适的选项并点击完成

image

通过以上步骤,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:<fully qualified domain>.

添加代码与资源

为 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 ,在其中可以声明排除代码的条件。

image

在 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 审核,才能发布。

结尾

到这里,文章就结束了,帮忙点下最下面的广告哦~( 大家懂得 😁 )

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。