MAC上如何使用Xcode创建应用剪辑呢?

MAC上如何使用Xcode创建应用剪辑呢?

Mac软件教程 2020-10-05 08:51:13

MAC上如何使用Xcode创建应用剪辑呢?

分类: Mac软件教程时间: 2020-10-05

使用Xcode创建应用剪辑,将应用程序剪辑目标添加到您的Xcode项目中,并在应用程序剪辑及其相应的完整应用程序之间共享代码。一个应用夹是你的应用程序的一个轻量级版本,它提供一些功能何时何人需要它。使用Xcode,您可以将App Clip目标添加到应用程序的项目中,在App Clip和整个应用程序之间共享代码和资产,以及构建,运行和调试App Clip。

添加应用剪辑目标

应用程序剪辑需要一个相应的完整应用程序,该应用程序至少应提供与应用程序剪辑相同的功能;您为完整的应用程序和应用程序剪辑使用相同的Xcode项目。如果要启动新的应用程序项目,请首先使用Xcode创建一个新的iOS项目。如果要将应用剪辑添加到现有的iOS应用,请打开其Xcode项目。然后,将App Clip目标添加到Xcode项目:

使用应用剪辑模板添加新目标。

选择一个产品名称,为您的App Clip选择适用的选项,然后单击“完成”。


Xcode为您选择的选项创建所有必需的文件,并使用以下命令为您的App Clip添加目标:

一种构建和运行您的App Clip及其测试的方案。

一种名为“按需安装功能”的新功能,用于添加权利。com.apple.developer.on-demand-install-capable的Parent Application Identifiers Entitlement。

应用剪辑的应用标识符,使用完整应用的应用标识符作为其前缀,后跟一个字符串。例如,如果完整应用程序的应用程序标识符为,则应用剪辑的应用程序标识符为。$(AppIdentifierPrefix)com.example.MyApp$(AppIdentifierPrefix)com.example.MyApp.Clip

作为App Clip方案一部分的环境变量,使您可以调试调用。_XCAppClipURL

支持与完整应用程序相同的设备,不包括macOS。

此外,Xcode为应用目标创建了一个新的构建阶段,该阶段将应用剪辑嵌入到应用中。

在将代码添加到App Clip目标之前,请在Simulator或设备上运行App Clip。此时,App Clip会显示一个空白屏幕,因为您尚未向App Clip目标添加任何代码和资产。

添加代码和资产

应用程序剪辑使用与完整应用程序相同的框架,并且向应用程序剪辑的目标添加代码或资产的工作方式与对其他任何目标一样。创建新的源文件和资产,或使用现有的源文件和资产,并将它们作为成员添加到App Clip的目标中。为了确保项目的可维护性,完整的应用程序和应用程序剪辑应共享尽可能多的代码:

如果您创建一个新应用程序,请在创建该应用程序时牢记创建一个应用程序剪辑,并遵循促进模块化代码库的最佳实践。例如,创建可重复使用的组件,将它们捆绑为Swift Packages,然后在完整应用程序和App Clip中使用这些程序包。有关更多信息,请参见使用本地包组织代码。

如果将应用程序剪辑添加到现有应用程序,请留出时间将应用程序的代码库重构为模块化,并在应用程序剪辑和完整应用程序之间共享代码,以避免重复代码。

将共享资产添加到新资产目录,然后在完整应用程序和应用程序剪辑中使用该目录。有关更多信息,请参见Xcode帮助中的关于资产目录。

保持您的应用剪辑小巧

应用程序剪辑必须小巧(不压缩的应用程序剪辑不能超过10 MB)才能立即启动。如果可能,将您的App Clip保持在此限制以下。

要测量您的应用程序剪辑的大小,请为您的应用程序剪辑创建一个应用程序大小报告:

在Xcode中,存档应用剪辑的相应应用,打开管理器窗口,选择存档,然后单击“分发应用”。

启用了App Thining和从位码重建功能,将App Clip导出为Ad Hoc或Development版本。

导出的App Clip的输出文件夹还包含其大小报告:名为的文件。打开文本文件,并记下App Clip的未压缩大小,并对项目进行调整,以使其未压缩大小保持在10 MB以下。App Thinning Size Report.txt

有关测量应用程序大小的更多信息,请参阅减小应用程序大小。

使用主动编译条件

在许多情况下,向应用程序添加应用剪辑是将应用程序代码重构为模块化和可重用的好机会。完整应用程序可用的大多数功能和框架都可用于您的应用程序剪辑。但是,您可能会遇到无法在应用程序剪辑中使用某些应用程序代码的情况,并且无法为应用程序和应用程序剪辑代码创建单独的模块。在这些情况下,请利用“活动编译条件”构建设置,在其中可以声明排除代码的条件。

首先,导航到您的App Clip目标的构建设置,然后为“活动编译条件”构建设置创建一个新值;例如,APPCLIP。然后,在需要的地方在共享代码中添加一个检查,以排除您不想在App Clip中使用的代码。

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

#if !APPCLIP

// Code you don't want to use in your App Clip.

#else

// Code your App Clip may access.

#endif

添加关联的域权利

用户从将调用URL传递到应用剪辑的调用启动应用剪辑,或者如果用户安装了应用以替换应用剪辑,则将调用传递到完整的应用。启动机制利用了Associated Domains Entitlement—如果您的应用程序支持Handoff或通用链接,您可能已经很熟悉这种权利。

设计和配置App Clip的启动体验是一项重要任务,而快速启动是使用App Clip的关键。但是,无论您选择支持哪种调用,以及使用哪种调用URL,都必须将添加Associated Domains Entitlement到应用程序和App Clip目标中:

在Xcode中打开您的项目;然后,在您的项目设置中,启用“关联域”功能以添加Associated Domains Entitlement。

对于每个启动您的应用程序剪辑或完整应用程序的URL,使用以下模式将其域添加到“关联的域”功能中:appclips:<fully qualified domain>。例如,添加。appclips:example.com

配置并响应调用

要启动App Clip,用户可以执行调用,例如,通过扫描NFC标签或可视代码。在您的代码中,响应启动时系统调用传递给应用程序剪辑或完整应用程序的调用和调用URL。您无需添加代码即可扫描NFC标签,可视代码等。

相关文章