创建一个App Clip

2020-07-01  本文已影响0人  烽火连天x

官方Demo下载地址Feature-Rich App, 建议学者下载此Demo参考。

概述

在你的Xcode项目中,在你的应用程序中target需要新建一个你的App Clip,App Clip与你的主应用程序共享code和assets。在你的工程中App Clip与其他targets一样,您可以使用Xcode在模拟器或设备上构建、运行和调试App Clip。此外,您必须配置web服务器以使系统能够验证App Clip的真实性。
*** Important
在创建App Clip之前,请参见:Developing a Great App Clip或者笔者的App Clips功能***

添加一个App Clip Target

创建一个App Clip,需要提供至少与App clip相同功能的主应用工程,并且你应该对主应用和App clip使用相同的Xcode项目。如果你要启动一个新的应用项目,首先用Xcode创建一个新的iOS项目。如果要将App Clip添加到现有应用程序中,请打开其Xcode项目,然后,将app clip target添加到Xcode项目:

  1. 添加App Clip Target


    5.png
  2. 选择好Project,填写其它选项,点击“Finish”


    6.png

Xcode会为你选择的选项创建所有必需的文件,并为你的App Clip添加一个Target:

此外,Xcode为应用Target创建一个新的构建阶段,该阶段将App Clip嵌入到应用程序中。

在将自己的代码添加到App Clip Target之前,请在模拟器或设备上运行App Clip。此时,应用程序剪辑显示一个空白的白色屏幕,因为您还没有添加任何code和assets。

添加Associated Domains Entitlement

用户从将调用URL传递到App Clip中会启动App Clip,或者,如果用户安装主应用以替换App Clip,调用URL会启动主应用。无论您选择支持哪种调用,都必须将Associated Domains Entitlement添加到主应用和App Clip Target:

  1. 在Xcode中打开项目;然后,在Targets -> Signing & Capabilities中,点击“+ Capability”添加Associated Domains。
  2. 对于启动App Clip或主应用的每个URL,使用以下模式将其域名添加Associated Domains capability:appclips:<fully-qualified domain>。例如,添加appclips:example.com。


    7.png

除了添加Associated Domains Entitlement外,您还必须对服务器进行更改,以允许系统在启动前验证你的App Clip。有关详细信息,请参阅Configuring Your App Clip’s Launch Experience
有关Associated Domains的信息,请参阅Make Changes to Your Server and Your Xcode Project

添加 Code 和 Assets

App clips和主应用使用相同的框架,向App clip的Target添加代码或assert的方式与对其他Target添加方式都一样。创建新的源文件和assets,或将主应用现有源文件和assets用作App Clip目标的成员。为了提高项目的可维护性,主应用和App Clip应该尽可能多的共享代码:

配置Active Compilation Conditions

在App Clip和主应用之间共用代码时,可能会遇到在App Clip中无法使用主应用的某些代码的情况。在这些情况下,请设置Active Compilation Conditions,在App Clip 的Targets ->Build Setting中可以声明排除代码的条件。


8.png

然后在需要的地方添加一个条件,以排除你不想在你的App Clip中使用的代码。例如:

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

对服务器和Xcode项目进行配置

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

  1. 把 Apple App Site Association file添加到你的服务器上,可以参考Supporting Associated Domains in Your App
  2. 在服务端创建或者已存在apple-app-site-association文件,在此文件中为App Clip添加appclips键值。下面的代码是要添加的内容,请注意apps键的值是一个数组,其中只有一个是app clip的app identifier。
{
   "appclips": {
       "apps": ["ABCED12345.com.example.MyApp.Clip"]
   }
   ...
} 

例如在网页中配置App Clip的推荐条,若打开App Clip你还需要为你的HTML界面添加apple-itunes-app:

<meta name="apple-itunes-app" 
    content="app-clip-bundle-id=com.example.fruta.Clip,
    app-id=123456789">
  1. 在Xcode中,为app和app clip添加Associated Domains Entitlement配置。

配置和响应

你在App Store Connect中配置的URL,是为了系统来启动App Clip。因此,识别App Clip的URL来启动你的App Clip,在启动时对URL进行响应,并在app Store Connect中注册它们对创建App Clip至关重要。有关更多信息,请参考Configuring Your App Clip’s Launch ExperienceResponding to Invocations

发布App Clip

App Clip需要对应的主应用。准备发布App Clip时,请将其作为主应用Archive的一部分提交。请注意,你的App Clip必须在App Store通过审核后,才能发布。

上一篇下一篇

猜你喜欢

热点阅读