App Clips —— 轻应用码的开发

2021-02-18 13:29:19 浏览数 (1)

最近要做个AppClips的调研,打算做个系列,这是第三篇

  • AppClips码的生成
  • AppClips的应用范围
  • AppClips的使用

0. 创建AppClips的条件是已经有了iOS项目,打开要创建AppClips的项目

1. 然后选中Xcode -> File -> New Target -> iOS -> App Clip

Screen Shot 2021-02-05 at 13.48.10.pngScreen Shot 2021-02-05 at 13.48.10.png

点击Next,

  • 1: 是创建的AppClips项目的名字
  • 2:可以选择是Storyboard和SwiftUI
  • 3:可以选择是Swift和Objective-C
  • 4:选择是哪个主工程的 1613612838737.jpg1613612838737.jpg

然后点击Activate

Screen Shot 2021-02-18 at 09.58.33.pngScreen Shot 2021-02-18 at 09.58.33.png

选中新创建的target,然后选择Signing&Capabilities,然后添加Associated Domains,把Associated Domains中的example.com替换为自己的链接地址,

Screen Shot 2021-02-18 at 10.01.11.pngScreen Shot 2021-02-18 at 10.01.11.png

自己的链接地址生成规则如下,

  • 参考Associating Your App Clip with Your Website
  • 类似于之前配置Universal Link的逻辑,在那个apple-app-site-association文件中添加appclips的配置,然后更新上即可。
  • 这个文件是放在某个网站下面的,这个网站的地址就是自己的链接地址

文件格式参考如下:

代码语言:txt复制
{
	"applinks": {
		"apps": [],
		"details": [
			{
				"appID": "Your Certificate ID.Your Bundle ID",
				"paths": [
					"NOT /xxx/*",
					"/*"
				]
			}
		]
	},
	"appclips": {
        	"apps": ["Your Certificate ID.Your Clip Bundle ID"]
    	},
}

测试App Clips的启动

用自己的链接地址,通过AppClips——轻应用码的生成,来生成一个轻应用码,用于调试

选中Xcode,在上面的菜单栏选择Product -> Scheme -> Edit Scheme

把Environment Variabless中_XCAppClipURL前面勾选中,然后把后面Value中https://example.com改为自己的链接地址,然后Close,选中真机,前面选择Clip的target,运行一次。然后可以尝试扫描自己生成轻应用码,看是否可以触发。

1613615198070.jpg1613615198070.jpg

预览配置

  • 通过扫码成功唤醒App Clips后,会发现预览卡片内容是空白的。这里面的内容是在App Store Connect中配置的,可以配置图片、标题、副标题的内容,参考AppClips——应用范围和设置一
  • 在手机的设置轻应用里可以看到自己的轻应用,这里面的轻应用图标是我们配置的,和APP图标配置规则一致,找到Clips项目中的Asserts->AppIcon配置即可。

最后

在开发App Clips时可以选择使用主工程的代码共享给App Clips,也可以选择不共享单独编辑一份。共享的设置只需要选中文件,在项目设置右边Target Membership中,把Clip的target勾选即可

1613616172140.jpg1613616172140.jpg

还可以为target添加一个特殊的编译宏来区分环境,OC的工程,编译选项需要在Build Settings的Preprocessor Macros选项下进行配置,Swift的工程则需要在Active Compilation Conditions选项下进行配置,比如为target工程添加一个CLIP的编译宏:

qiwl1raw9g.pngqiwl1raw9g.png

使用时:

代码语言:txt复制
#ifdef CLIP
	XXX
#endif

0 人点赞