美文网首页
SwiftUI 学习 Creating an App Clip

SwiftUI 学习 Creating an App Clip

作者: 弑神指 | 来源:发表于2020-10-23 08:45 被阅读0次
    • 用Xcode创建一个App Clip
      在Xcode项目中添加一个App剪辑目标,并在App剪辑和相应的完整应用程序之间共享代码

    添加一个App Clip目标

    应用剪辑需要一个相应的完整应用程序,该应用程序剪辑至少提供相同的功能;你对你的完整应用和你的应用剪辑使用相同的Xcode项目。如果你开始一个新的应用程序项目,首先用Xcode创建一个新的iOS项目。如果你想在现有的iOS应用程序中添加一个应用程序剪辑,打开它的Xcode项目。然后,添加一个应用剪辑目标到Xcode项目:
    1.使用App Clip模板添加一个新目标。
    2.选择产品名称,为App Clip选择适用选项,然后单击Finish。

    rendered2x-1598484589.png

    3.Xcode为你选择的选项创建所有需要的文件,并为你的App Clip添加一个目标:

    • 用于构建和运行App Clip及其测试的方案;
    • 一个名为[On Demand Install Capable]的新功能添加了com.apple.developer. On Demand - Install - Capable权限
    • The [Parent Application Identifiers Entitlement]
    • App Clip的应用标识符,使用完整的应用程序的应用标识符作为前缀,后面跟着一个字符串
      例如,如果你的完整应用程序的应用标识符是$(AppIdentifierPrefix)com.example.MyApp,应用剪辑的应用标识符是$(AppIdentifierPrefix)com.example.MyApp.Clip。

    简书美元符号如果无法解析,前面添加回车符。

    • _XCAppClipURL环境变量作为App剪辑方案的一部分,允许您调试调用。
    • 支持与完整应用程序相同的设备,不包括macOS。

    此外,Xcode为app目标创建了一个新的构建阶段,该阶段将app Clip嵌入到app中。
    在向App剪辑目标添加代码之前,请在模拟器或设备上运行App Clip。此时,App Clip显示了一个空白的屏幕,因为您还没有向App Clip目标添加任何代码和资产。

    添加Code和Assets

    App Clip使用与完整应用相同的框架,向App Clip的目标添加Code或Assets就像对其他目标一样。创建新的File和Assets,或使用现有的File和Assets,并将它们作为成员添加到App Clip的目标。为了确保项目的可维护性,整个app和app Clip都应该尽可能多地共享代码:

    • 如果您创建了一个新的应用程序,在创建App Clip时要记住,并遵循促进模块化代码库的最佳实践。例如,创建可重用组件,将其打包为Swift Packages,并在完整的应用程序和App Clip中使用这些包。有关更多信息,请参见[Organizing Your Code with Local Packages]。
    • 如果你在现有的应用程序中添加了一个App Clip,那就留出时间重构应用程序的代码库,使之模块化,并在App Clip和整个应用程序之间共享代码,避免代码重复。
    • 将共享Assets添加到新的资产目录中,并在完整的应用程序和App Clip中使用该目录。有关更多信息,请参见About Asset catalogs

    保持你的App Clip 包的大小

    应用程序剪辑必须很小-不超过10mb的未压缩应用剪辑-以立即启动。如果可能,保持你的App Clip低于这个限制。

    为了测量你的应用剪辑的大小,为你的应用剪辑创建一个应用大小报告:

    • 在Xcode中,存档App Clip对应的App,打开管理器窗口,选择存档,点击分发App。
    • 导出App Clip作为一个特设或开发构建与应用细化和重建从位码启用。

    你导出的App Clip的输出文件夹也包含了它的大小报告:一个名为App细化大小报告.txt的文件。打开文本文件,注意你的App Clip未压缩的大小,调整你的项目,将其未压缩的大小保持在10mb以下。
    有关测量应用程序大小的更多信息,请参见Reducing Your App’s Size

    使用活动编译条件

    在很多情况下,添加一个App Clip到你的应用程序是一个很好的机会来重构你的应用程序的代码,使之模块化和可重用。大多数功能和框架可用到你的完整应用程序是可用到你的App Clip。然而,你可能会遇到一些情况,你不能在app Clip中使用你的应用程序代码,并且为app和app剪辑代码创建单独的模块是不可行的。在这些情况下,可以利用活动编译条件构建设置,在该设置中可以声明排除代码的条件。

    original-1592600160.png
    开始导航到你的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
    

    添加关联域权利

    1.用户启动应用程序片段通过调用URL调用应用程序片段.
    或者如果用户安装应用程序替换应用程序片段,充分应用。
    发射机制利用Associated Domains Entitlement
    的权利——一种权利你可能已经熟悉你的应用程序是否支持Handoff
    universal links

    2.设计和配置你的App Clip的启动体验是一个重要的任务,快速启动是使用App Clip的关键。然而,无论你选择支持哪个调用,使用哪个调用url,你必须添加Associated Domains Entitlement
    权利到应用程序和应用剪辑目标:

    • 在Xcode中打开项目;然后,在您的项目设置中,启用关联域功能来添加关联域权利
    • 对于启动App Clip或完整应用程序的每个URL,使用以下模式将其域添加到关联域功能:appclips:。例如,添加appclips:example.com

    配置并响应调用

    要启动一个应用程序剪辑,用户需要执行一个调用.
    例如:
    1.通过扫描一个NFC标签或一个可视代码。
    2.在代码中,响应调用以及系统在启动时传递给App Clip或full App的调用URL。你不需要添加代码来扫描NFC标签、可视代码等等。(比如web调用方式)

    但是,在将App Clip 分发给测试人员或提供给用户之前,必须对服务器进行更改。此外,还需要考虑希望支持哪些调用。有关更多信息,请参见Configuring Your App Clip’s Launch Experience.。

    相关文章

      网友评论

          本文标题:SwiftUI 学习 Creating an App Clip

          本文链接:https://www.haomeiwen.com/subject/shgumktx.html