我想知道如何创建apple-app-site-association文件。
https://developerinsider.co/enable-universal-links-in-ios-app-and-setup-server-for-it/
以上链接说这样做:
AppCompatDelegate
我没有.pem和.key文件,我不知道如何创建它。
答案 0 :(得分:0)
您可以在Alex Austin of Branch的博客文章中找到此流程,此处:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/
以下是关键部分:
第2部分:配置apple-app-site-association文件
Universal Links将您的网站网址转换为应用链接,因此您需要运行网络服务器才能利用它们。要帮助完成此过程,请使用我们的Universal Links Validator检查您的apple-app-site-association文件是否配置正确。
选择一个域名
首先,确定您要用于Universal Links的域名。您可以注册新的或使用现有的。如果注册一个新的,我们更喜欢使用像ghandi.net这样干净,非垃圾邮件的注册商。
获取SSL认证
您需要获取用于托管Universal Links的域的SSL认证文件。为此,您需要使用第三方服务为SSL注册域名,并创建所需的文件。环顾四周之后,我们选择了Digicert来处理branch.io和相关的子域。
以下是创建SSL认证的步骤:
此JSON文件有一个非常标准的结构,因此您基本上只需复制此版本并进行编辑即可满足您的需求。我将详细说明在哪里获得正确的值。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "R63EM248DP.io.branch.TestBed-Swift",
"paths": [
"NOT /e/*",
"*",
"/"
]
}
]
}
}
您需要更改的唯一字段与“R63EM248DP.io.branch.TestBed-Swift”相关联。这实际上是两个值与句点连接在一起。这两个值都可以在标识符中的developers.apple.com上找到 - >应用ID部分。只需单击相应的已注册App ID。
在此示例中,将前缀和ID与句点连接在一起,使其如下所示:“R63EM248DP.io.branch.TestBed-Swift”。 将此JSON文件另存为apple-app-site-association-unsigned。
使用您的SSL证书签署JSON文件
注意:如果您已将您的域认证为HTTPS,则可以跳过此步骤并以纯文本格式发送JSON。
将apple-app-site-association-unsigned文件上传到您的服务器,与上一步中的认证和密钥文件相同。使用命令行,将目录更改为该文件夹并发出以下命令:
cat apple-app-site-association-unsigned | openssl smime -sign -inkey yourdomain.com.key -signer yourdomain.com.cert -certfile digicertintermediate.cert -noattr -nodetach -outform DER > apple-app-site-association
这将生成文件apple-app-site-association
配置文件服务器
好的!因此,您拥有已签名的apple-app-site-association文件。现在,您只需配置文件服务器即可为您托管。有几点需要注意:
我们使用Node + Express链接服务器为所有Branch集成应用设置了一个。这是我们在有用的情况下使用的代码:
var aasa = fs.readFileSync(__dirname + '/static/apple-app-site-association');app.get('/apple-app-site-association', function(req, res, next) {
res.set('Content-Type', 'application/pkcs7-mime');
res.status(200).send(aasa);
});
同样,您可以避免所有JSON托管和SSL证书工作,只需使用分支链接为您托管它。 快乐联系!