在我正在开发的iOS应用程序中,我已经设置了Universal Links.该应用程序托管多个域.我使用通配符设置了一些域名.这些域似乎不起作用.例如,我想链接到https://news.mydomain.com/.如果我将以下内容添加到关联域列表中:
applinks:*.mydomain.com - >不起作用
applinks:news.mydomain.com - >工作正常
所以我相信我确实设置正确,apple-app-site-association文件设置正常.我甚至可以在两种情况下(使用Charles Proxy)看到apple-app-site-association文件被检索好了.
对于通配符,链接仅在Safari中打开.
当我在没有通配符的情况下配置域时,应用程序将打开.
我在这里错过了什么吗?我在设备上运行iOS 9.3.2,我正在运行Xcode 7.3.1,它们是今天的最新版本.
我正在尝试使用两种配置为IOS 9设备实现设置Universal Link.首先,我在服务器端完成了配置步骤:
1.创建一个未签名的apple-app-site-association-unsigned.txt文件,文件内容为
{
"activitycontinuation": {
"apps": [
"9JA89QQLNQ.com.apple.wwdc"
]
},
"applinks": {
"apps": [],
"details": [
{
"appID":"9JA89QQLNQ.com.apple.wwdc",
"paths": [
"*",
"/"
]
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
2.使用标记上述文件
cat apple-app-site-association-unsigned.txt | openssl smime -sign -inkey demo.key -signer demo.crt -certfile demo.pem -noattr -nodetach -outform DER> apple-app-site-association
3.然后它在签名文件上创建,即apple-app-site-association
4.将此文件移动到我的证书可用的根服务器中.
5.用node.js创建一个端点
var https = require('https');
var fs=require('fs');
var express = require('express');
var privateKey = fs.readFileSync(home_path + 'src/Server/API/demo.key', 'utf8');
var certificate = fs.readFileSync(home_path + 'src/Server/API/demo.crt', 'utf8');
var credentials = {key: privateKey, …Run Code Online (Sandbox Code Playgroud)