html ios9 不兼容内链接,iOS 9 (通用链接) Universal Links

1. 通用链接

通用链接要求在iOS9及以上的版本运行,做用是可以备忘录,短信,邮件中点击链接跳转APP,

这里有对Universal Links介绍的官方文档:

2.使用通用链接的准备

通过 SSL 访问域名   (支持https)

支持上传一个 JSON 文件到你的域名   (支持上传文件到域名根目录)

至少 iOS 9 版本

至少 Xcode 7 beta 2  (因为之前的版本不支持)

3. 创建apple-app-site-association文件并上传该文件

首先创建一个名为apple-app-site-association的JSON文件,注意这个文件不能有后缀这很重要,文件的内容为:

4f34ad59e3c0

appID:是由Team ID和bundle id拼接出来的,Team ID可以登录苹果开发者账号来获取:

4f34ad59e3c0

取Team ID放到appID中

bundle id是在项目中获取:

4f34ad59e3c0

General下 bundle id放到appID中

paths:为服务器路径,*号代表域名根目录以下都会打开APP。

上传这个文件到你的域名根目录,检测上传成功:苹果给我们提供了网址让我们来测试apple-app-site-association文件是否上传成功,根据我的实验发现就算在苹果提供的测试网站提示错误的,有时候也可以使用,区分的标准为点击:https://你的域名/apple-app-site-association可以访问到文件就可以了。

4.证书要求

通用链接需要你在开发者中心 Identifiers-->App IDs中找到自己的证书支持 -->Associated Domains:

4f34ad59e3c0

如果当前不支持Associated Domains可以点击下边的Edit进行编辑,成功以后需要重新下载证书。

5.项目配置

在项目中找到Capabilities --> Associated Domains 点击右侧开关打开Associated Domains功能:

4f34ad59e3c0

上图表示成功,打开的时候报错,检查一下bundle id是否一致

添加支持的域名:

4f34ad59e3c0

添加ni需要支持的域名

6.接受响应的代码

在AppDelegate.m中调用- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler 方法来处理响应

4f34ad59e3c0

判断点击的链接是否是你所支持的

注意点:

1. Universal Links不支持本域跳转,意思就是你当前的页面链接和你要跳转的域名不能相同,否则跳转不成功。

2. *号代表域名根目录一下的路径都可以访问APP,根据我的测试发现根目录调用不会跳APP也就是说你的域名是smda.vshunter.com,那么你用https://smda.vshunter.com是不会跳app的,正确的应该是https://smda.vshunter.com/user或者https://smda.vshunter.com/....,这样才能跳APP

这是我研究过程中碰到的坑,希望对你们有所帮助!如过有任何疑问请联系我,大家一起学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值