iOS App Clip 初探

苹果在推出iOS14的同时,推出了App Clip,功能和用法跟小程序和安卓轻应用类似。
但是,相对于小程序来说,App Clip 对于源生开发者更友好。
App Clip的开发跟源生应用的开发几乎无二。通过Swift或者OC来编写,对于开发者来说,大大降低了学习成本。

在 Xcode 工程中,你可以为你的 App 添加一个 app clip target, 利用 Xcode ,app clip 可以与你的 app 共享代码与资源,并可以编译,调试,运行在真机或者模拟器环境。
但是,在实际使用过程中,开发者必须在自己的服务器上做好验证 app clip 的有效性的手段。类似于,当初苹果推行的UniversalLink。
App Clip是建立在一个源生应用基础之上的。是App功能的一部分,可以理解为功能子集。

实操

一 给App新增一个app Clip Target (需要Xcode12以上才可以创建)

1 新增一个target,选中app clip点击确定。


addTarget.png
selectClips.png

2 输入 App clip 的名称,以及为 app clip 选择合适的选项,系统会自动依据住App给新的target创建identifier(原来的identifier.clip) 并点击完成 .

3 添加 Associated Domains Entitlement。 App clip 可以通过用户传入的一个 URL(例如:扫码)来唤起,用户可通过 app clip 传递给主 app 一个。URL 的方式安装完整应用,要支持以上俩种调用方式,必须在 app 和 app clip 中加入 Associated Domains Entitlement:打开工程设置,在 Associated Domains capability 中加入 the Associated Domains Entitlement使用以下样式将其 domain 添加到 Associated Domains capability 功能中:appclips:yourDomien.com(跟UniversalLink 的配置类似,只是将applink换成了appclips)

4 服务器配置,在系统弹出 app clip 或允许 app clip 调用之前,系统会验证 app clip 的配置和调用的URL。如果无法执行验证,则不会显示app clip,也不会启动。配置方法跟UniversalLink一样,新增一个键值对,key为appclips,value为一个对象 "apps": ["bundle id.Clip"]

associationfile.png

二 给App Clip增加代码

就跟普通的多target项目一样,这里也只是新增了一个target。

1 找到对应app clip target目录下的文件,进行代码编辑(正常新建文件,系统会自动选的target为app clips)。
2 可以共享主App中的代码。此时,找到需要放进app Clip 中的文件,找到.m文件中的targer  membership选项(这里本身只选中了主App的target),勾选上app clip target。 该文件就可以在app clips target中被访问到。
3 把代码编译成framework,引入项目。就可以共享了
4 把代码放到私有库中,在podfile中,新增 target 'ClipTest'。   将私有库的地址,同时引入两个target,就可以共享代码了
podF.png

三 在 App Store Connect 中注册 App Clip

系统使用您在 App Store Connect 中配置的 URL 来启动您的 app clip。因此,识别启动 app clip 的URL,在启动时对其进行响应并在 App Store Connect 中注册它们对于创建 app clip 至关重要。
可以通过手机本地注册一个开发版本的,进行预览。

  1. 首先将 SugarClip 通过 Xcode 在手机运行起来。
  2. 打开手机【设置】-【开发者】-【Local Experience】-【Register Local Experience】
    填入 URL PREFIX,打开任何以 URL PREFIX 为前缀的 URL,都会被当做打开 App Clip 来处理。
    填入 Clip Bundle Id。
    填入 Title、Subtitle,选择一张图片,这些信息将会显示在 App Clip Card 上。
    准备发布 app clip 时,请将其作为 app archive 的一部分提交。请注意,必须通过App Store 审核,才能发布。

需要注意的点

目前,app clip只允许 和其对应的主 app 通信,不允许和其他 app 进行通信,这就导致微信登录分享支付等功能在 App Clip 里使用不了。但是可以使用苹果自带的 apple pay进行支付。        
不能访问苹果音乐、多媒体,通讯录,文件,运动健康,相册等数据。        
不能跟踪用户信息,也不能通过 identifierForVendor 来获取用户唯一标识。        
不能持续地获取用户位置,每次使用位置需要请求用户授权,次日凌晨 4:00,会自动关闭授权。再次使用位置时,需要用户重新授权。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267