昨天看见一个app可以通过短信中的连接直接打开,而且这个连接是一个很普通的,就像https://www.baidu.com这么普通,我当时还以为这个app将scheme设置成了"https",很快就发现自己还是很年轻,原来ios9就出来了一个新的技术Universal Links。 通过唯一的网址, 就可以链接一个特定的视图到你的 APP 里面, 不需要特别的 scheme 。
我理解的大致原理是在特定目录下上传一个json文件,并将这个特定路径配置在app中,app第一次启动就会根据配置去下载这个json文件到手机上,以后在文本中(比方说短信)点击这个url,就会打开这个app。
具体操作下图
首先生成一个名字为apple-app-site-association的json文件(名字一定不能错),其中appID 中的TX89U6489开发者账号的组织teamid,com.tongbaotu.yinkaShop 是项目的bndle Identifier。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TX89U6489.com.tongbaotu.yinkaShop",
"paths": ["*"]
}
]
}
}
将生成的json文件上传到服务器,这里不要后缀名,比方说上传好了路径名字是https://balabala.com/apple-app-site-association,注意这里得是https的路径。注意这里的balabala.com是要写在xcode中的
配置工程
打开项目的Associated Domains 添加applinks:balabala.com
然后在短信中点击链接https://balabala.com/ 就可以打开这个app了,值得 注意的是 需要ios9以上的系统! 还有就是我们应该知道微信有白名单,禁止了绝大数app 的scheme开发方式,我试了下,这种方式打开app也被禁止了。