通用链接universal links中遇到的问题

本文详细介绍UniversalLinks配置步骤,包括关联域名设置、apple-app-site-association文件部署、跨域解决方案等,帮助开发者实现从Safari及社交应用直接启动iOS应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Universal Links 现在已经在不少的app中被使用,未来我认为,几乎全部的iOS应用都会使用此功能。在微信中直接呼起app,多稳,毫无违和感。

关于universal links网上教程一篇篇的,大神们写的都很好,我也是参考其中的一些,才实现了这个功能,其中最好的教程当属wwdc上的视频了,由于英语水平有限,我对外语的教程是尽量拒绝的(因为没有字幕),但是看了之后才发现,真的是简单易懂。

而本篇文章是帮助我以后,及大家以后在配置universal links产生问题时,可以用来参考解决一些问题。

首先要确保一下几点:
1.entitlements中已添加associated domain,形如:applinks:你的https域名。
这里写图片描述
2.上传了apple-app-site-association文件到你的https根域名下,并且文件中details键下,准确的写对了键名:TeamId.AppId,例如:{
"applinks": {
"apps": [],
"details": {
"G53MGMBNGQ.com.hg.testLinks": {
"paths":["*"]
}
}
}
}

3.在苹果开发者中心确认,你的项目的App IDs中是否开启了associated domain功能。
这里写图片描述
4.在上述操作之后,需要更新一下development的provisioning profiles,选择更新后的app id.
5.此时将app运行到测试机后(安装期间会请求根域名下的那个文件(你懂得)),在safari中输入https://你的域名,当然,会是一个404server error,此时下拉你的页面,将会出现:在###应用中打开,的一个悬浮条。
这里写图片描述
6.此时,可以兴奋一小会了,毕竟已经能再safari中打开我们的应用了。
7.我们的目的是在微信,qq等应用中呼起,可当我们将我们的https域名,输入在微信中,并且点击的时候,我们发现,真的皮,真的就是404server error,如何下拉都没用。我在此时,真的是有点心灰意冷了,不过老板的任务,不能不完成啊,强行google了一波,然后,我看到了:跨域,这个词很炫。
8.然后我也不确定是否可以,硬着头皮让前端同事,写了一个简单的页面,在一个与applinks中添加的域名不同的页面(要跨域),写了一个点击操作,跳转到applinks中所写的域名,然后在微信中,打开我们新搞得页面,点击,嗯,直接跳转到了我们的app中,大功告成!
9.然后我们下一步的完善工作是,呼起指定页面,- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
就是这个函数了,可以跟前端约定一个规则,解url,然后跳转。
10.那么我们还需要做一些其他的支持,比如未安装app时,跳转到下载页面,ios9一下的用户也要做一些支持,这些地方处理好,我们的app就可以更新上线啦,嗯,完美~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值