zoukankan      html  css  js  c++  java
  • App Clip

    添加一个 App Clip Target

    原文在这里

    参考:

    官方视频(推荐下载 "开发者"观看,有字幕,英语大牛请忽略,这里只放了一个,其他视频查看相关内容即可):https://developer.apple.com/videos/play/wwdc2020/10174/

    大佬总结:https://github.com/Binlogo/WWDC20-Track/tree/master/FrutaBuildingAFeatureRichAppWithSwiftUI

    流程图:https://mubu.com/doc/6gmq5SaGQIo

    App Clip要求对应的应用至少提供与App Clip相同的功能,对于完整的应用和App Clip,你通常使用相同的Xcode项目。如果你开始一个新的应用程序项目,首先用Xcode创建一个新的iOS项目。如果你想添加一个App Clip到你现有的应用,打开它的Xcode项目。然后,添加一个App Clip Target到Xcode项目。

    使用App Clip模板添加一个新的Target

    选择产品名称,为app clip选择适用选项,然后单击Finish。

    Xcode为你选择的选项创建所有需要的文件,并为你的app clip添加一个target:


    构建和运行app clip及其测试的方案。要构建并运行完整的应用程序,请继续使用现有的方案。
    一个名为按需安装能力的新功能。
    父应用程序标识符授权。
    app clip的应用标识符,使用完整的应用的应用标识符作为前缀,后面跟着一个字符串。例如,如果你的完整应用程序的应用标识符是$(AppIdentifierPrefix)com.example.MyApp,app clip的应用标识符是$(AppIdentifierPrefix)com.example.MyApp.clip。
    _XCAppClipURL环境变量作为app clip方案的一部分,允许您测试调用。
    支持与完整应用程序相同的设备,不包括macOS。
    此外,Xcode为app目标创建了一个新的构建阶段,该阶段将app clip嵌入到app中。
    在向app clip目标添加自己的代码之前,请在模拟器或设备上运行app clip。此时,app clip显示了一个空白的屏幕,因为您还没有添加任何代码和资产。

    添加关联域权利

    用户启动应用程序片段通过调用URL调用应用程序片段,或者如果用户安装应用程序替换应用程序片段,充分应用。无论你选择哪个调用支持,您必须添加相关的域名权利的应用和应用视频目标:
    1、在Xcode中打开项目;然后,在您的项目设置中,启用关联域功能来添加关联域权利。
    2、对于启动app clip或完整应用程序的每个URL,使用以下模式将其域添加到关联域功能:appclips:<fully qualified domain>。例如,添加appclips:example.com。

    ( 原文如下:

    1. Open your project in Xcode; then, in your project settings, enable the Associated Domains capability to add the Associated Domains Entitlement.

    2. For each URL that launches your app clip or full app, add its domain to the Associated Domains capability using this pattern: appclips:<fully qualified domain>. For example, add appclips:example.com.


    除了增加相关的域授权,你必须改变你的服务器,让系统在启动之前验证你的app clip。有关更多信息,请参见配置App剪辑的启动体验。(PS:

    在App Store Connect中,在一个新的App版本的页面上,您必须配置一个默认的App clip体验,并为App clip卡提供以下元数据:
    标题图片
    提供更多有关应用程序剪辑信息的副标题
    用户点击动作按钮就可以启动应用程序剪辑
    有关设计指南,请参见人机界面指南。


    有关相关域的一般信息,请参见下面对服务器和Xcode项目的更改

    添加Code and Assets

    app clip使用与完整应用相同的框架,向app clip target添加代码或资源就像对其他target一样。创建新的源文件和资产,或使用现有的源文件和资产作为成员的app clip的目标。为了确保项目的可维护性,整个app和app clip都应该尽可能多地共享代码:
    如果您创建了一个新的应用程序,在创建app clip时要记住,并遵循促进模块化代码库的最佳实践。例如,创建可重用组件,将其打包为Swift包,并在完整的应用程序和app clip中使用这些包。有关更多信息,请参见使用本地包组织代码。
    如果你在现有的应用程序中添加了一个app clip,请留出时间重构它的代码库,使其模块化,并在app clip和整个应用程序之间共享代码,以避免代码重复。
    将共享资产添加到新的资产目录中,并在完整的应用程序和app clip中使用该目录。有关更多信息,请参见有关资产目录。

    Use Active Compilation Conditions 使用活动编译条件

    当你在app clip和完整的app之间共享代码时,你可能会遇到一些无法在app clip中使用app代码的情况。在这些情况下,可以利用活动编译条件构建设置,在该设置中可以声明排除代码的条件。

    在你的app clip target的构建设置,并为活动编译条件的构建设置创建一个新值;例如,APPCLIP。

    App Clip 的 Build Settings - Active Compilation Conditions 添加自定义编译参数:`APPCLIP`

    然后在共享代码中添加一个签入,在需要的时候,排除你不想在app剪辑中使用的代码。
    下面的代码检查添加到活动编译条件构建设置的APPCLIP值。

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

    现在在模拟器或设备上构建、运行和调试app clip。

    请注意

    在开发过程中,在本地或TestFlight中测试url,如测试app clip的启动体验中所述

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

    在系统显示app clip card或允许调用app clip之前,它验证app clip的配置和调用URL。如果它不能执行验证,它不会显示app clip card,app clip不会启动。要让系统验证你的app clip,你需要对你的web服务器和Xcode项目进行更改。
    首先,向你的服务器添加一个苹果应用网站关联文件,就像在你的应用中支持关联域中描述的那样。如果您之前向服务器添加了苹果应用程序站点关联文件,请将appclips键的条目添加到现有文件中。
    下面的代码显示了要添加的内容。注意apps键的值是一个只有一个入口的数组——app clip的app标识符。

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

    最后,在Xcode中,将你网站的域名添加到app和app clip的相关域名中。

    配置并响应调用

    系统使用你在App Store中配置的url来启动你的app clip。因此,识别启动aapp clip的url,在启动时响应它们,并在app Store Connect中注册它们对于创建app clip至关重要。有关更多信息,请参见配置app clip的启动体验和对调用的响应。

    最后

    app clip需要一个相应的应用程序。当你准备发布你的app clip时,提交它作为应用程序存档的一部分。请注意,你的app clip必须在提交审核后通过app Store审核流程。

  • 相关阅读:
    swift 中 Self 与self
    Swift 中的泛型
    mac 报文件已损坏 怎么办
    winxp秘钥
    字符串拷贝函数strcpy, strcat, sprintf, strncpy, strncat和snprintf的区别
    【原创】Linux应用程序完整调用自己写的字符设备驱动过程
    idea中新建git分支,并提交到远程github
    (JS-PHP)使用RSA算法进行加密通讯
    Linux日志相关的命令
    hibernate中关于is null的查询
  • 原文地址:https://www.cnblogs.com/ljcgood66/p/13203500.html
Copyright © 2011-2022 走看看