• 赚钱入口【需求资源】限时招募流量主、渠道主,站长合作;【合作模式】CPS长期分成,一次推广永久有收益。主动打款,不扣量;

AppClip 开发?

iOS cps12345 1年前 (2020-06-23) 2563次浏览 0个评论

AppClip 让用户不下载也能体验App的主要功能。下面将介绍如何开发AppClip.

AppClip 简介

AppClip 是你的应用程序的一个轻量级版本,它提供一些App的主要功能。您可以将 AppClip 在 Xcode 中以一个 target的形式添加,并和主App之间共享代码和资源。就像处理项目中的其他Target一样,您可以使用Xcode在模拟器或真机上构建,运行和调试。此外,您必须配置服务器以使系统能够验证您的AppClip的真实性。

在Xcode中添加AppClip

AppClip需要依赖一个应用程序,该应用程序至少应提供与AppClip相同的功能,并且您通常会对完整App和AppClip使用相同的Xcode项目。如果要启动新的应用程序项目,请首先使用Xcode创建一个新的iOS项目。如果要将AppClip添加到现有应用中,请打开其Xcode项目。然后,将AppClip的target添加到Xcode项目:

  1. 使用AppClip的模版添加一个新的target。
  2. 填写AppClip的名称,选择合适的设置,然后单击“完成”

AppClip 开发?

Xcode为您选择的选项创建所有必需的文件,并使用以下代码为您的AppClip添加target:

  • 一个新的 scheme。
  • Capability 中一项名为 On Demand Install Capable 的选项。
  • 一个Parent Application Identifiers Entitlement 的键值。
  • 唯一标识符,如果完整应用程序的应用程序标识符为$(AppIdentifierPrefix)com.example.MyApp,则AppClip的应用程序标识符为。$(AppIdentifierPrefix)com.example.MyApp.Clip
  • 该环境变量为应用剪辑的方案,让您的测试调用的一部分。_XCAppClipURL
  • 支持与完整应用程序相同的设备,不包括macOS。
    此外,Xcode为应用程序目标创建一个新的构建阶段,该阶段将应用程序剪辑嵌入到应用程序中。

在将自己的代码添加到应用剪辑目标之前,请在模拟器或设备上运行应用剪辑。此时,由于您尚未添加任何代码和资源,因此该应用程序剪辑显示空白屏幕。

添加关联的域

不论是调用时候传递的URL来启动AppClip还是安装App来替换AppClip. 都必须将添加Associated Domains Entitlement到App和AppClip的target中进行关联:

  1. 在Xcode中打开您的项目;然后,在您的项目设置中,启用“关联域”功能以添加Associated Domains Entitlement。
    对于每个启动您的AppClip或完整应用程序的URL,使用以下模式将其域添加到“关联的域”功能中:appclips:<fully qualified domain>。例如: appclips:example.com
  2. 除了添加之外Associated Domains Entitlement,您还必须对服务器进行更改,以允许系统在启动之前验证。有关更多信息,请参见“ 配置App Clip的启动体验”。

有关关联域的更多信息,请参见“对服务器和Xcode项目进行更改”。

复用代码和资源

AppClip与App使用相同的框架,为了确保项目的可维护性,完整的App和AppClip应共享尽可能多的代码:

  • 如果您创建一个新应用程序,则在创建该应用程序时要牢记创建一个AppClip,并遵循模块化代码库的最佳实践。例如,创建可重复使用的组件,将它们捆绑为Swift Packages,然后在完整应用程序和AppClip中使用这些程序包。有关更多信息,请参见使用本地包组织代码
  • 如果将AppClip添加到现有应用程序中,请预留时间将其代码库重构为模块化,做到共享代码,以避免重复代码。
  • 将共享资源添加到新资源目录,然后在完整应用程序和AppClip中使用该目录。有关更多信息,请参见关于资资源目录
    使用编译条件

 

使用条件编译

当您在AppClip和完整App之间共享代码时,您可能会遇到无法使用某些应用代码的情况。在这些情况下,请利用“条件编译”设置,在其中可以声明排除代码的条件。

AppClip 开发?
首先,导航到您的AppClip设置,然后为“条件编译”构建设置创建一个新值;例如,APPCLIP。然后在需要的地方在共享代码中添加一个检查,以排除您不想在应用程序剪辑中使用的代码。

以下代码检查APPCLIP您添加到“条件编译”构建设置中的值。

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

现在,在模拟器或设备上构建,运行和调试您的AppClip。

注意

在开发过程中,如“ 测试App Clip的启动体验”中所述,在本地或在TestFlight中测试URL 。

对服务器和Xcode项目进行更改

在系统展示AppClip或调用之前,系统会先验证。如果无法验证,则不会显示,也不会启动。为了使系统能够验证AppClip,您需要对Web服务器和Xcode项目进行更改。

首先,按照在您的应用程序支持关联域所述,将Apple App Site Association文件添加到您的服务器。然后添加appclips密钥。如果您以前将Apple App Site Association文件添加到服务器过,则将appclips密钥的条目添加到现有文件中。

以下代码显示了要添加的内容。请注意,apps键的值是AppClip的应用程序标识符。

{ 
 "appclips": { 
 "apps": ["ABCED12345.com.example.MyApp.Clip"] 
 } 
 ...
}

最后,在Xcode中,将您网站的域添加到Associated Domains EntitlementApp和 AppClip 中。

配置

系统使用您在App Store Connect中配置的URL 来启动您的AppClip。因此在 App Store Connect中注册它们对于创建AppClip至关重要。有关更多信息,请参见“ 配置App Clip的启动体验响应调用”。

发布

AppClip需要相应的应用。当您准备发布时,请将其作为完整App的一部分提交。请注意,AppClip 也需要通过App Store的审核才可用。

关于AppClip更多文章点击「AppClip 开发笔记」

喜欢 (12)

您必须 登录 才能发表评论!