Ios 普遍深度链接问题
我已经注意到了苹果开发者文档中提供的关于universal deeplinking的所有步骤,但它仍然不起作用 我都试过了 1-在我的appId上添加了关联域。(在developer.apple.com上) 2-下载并使用新的资源调配配置文件 3-通过提供有效路径在xcode项目中启用深度链接 4-创建苹果应用程序站点关联文件并添加细节,就像开发者文档中提到的那样 5-将该文件托管到我的服务器 之后,正如开发者文档中提到的,在设备上安装应用程序时,它将下载该文件,这正在发生,我可以在我的服务器上看到日志(该文件的200状态代码) 但它仍然不起作用 除此之外,我注意到下面提到了开发人员文档上的内容。 苹果应用程序站点关联可以创建为纯文本文件,但它应该应用程序/json为MIME类型。这是我现在唯一感到困惑的事情。因为当我在服务器上检查当前文件的MIME类型时,什么都不会出现 这是问题吗?如果是,那么如何设置文件的MIME类型 如果没有,请告诉我我还缺少什么Ios 普遍深度链接问题,ios,swift,deep-linking,Ios,Swift,Deep Linking,我已经注意到了苹果开发者文档中提供的关于universal deeplinking的所有步骤,但它仍然不起作用 我都试过了 1-在我的appId上添加了关联域。(在developer.apple.com上) 2-下载并使用新的资源调配配置文件 3-通过提供有效路径在xcode项目中启用深度链接 4-创建苹果应用程序站点关联文件并添加细节,就像开发者文档中提到的那样 5-将该文件托管到我的服务器 之后,正如开发者文档中提到的,在设备上安装应用程序时,它将下载该文件,这正在发生,我可以在我的服务器上
提前谢谢。我的直觉是,还有其他因素在起作用
application/json
仅仅意味着苹果将把这个文件解释为一个json对象。以下是我的一些建议:
1) 确保您的AASA文件格式正确,并且appID
与项目的app ID和bundle ID匹配,如我的示例所示。我将从这个AASA格式开始,然后从那里开始
{
"applinks":
{
"apps":[],
"details":[
{
"appID":"CXXXXXXXXD.com.deep.linked.Deep-Linked-Dogs",
"paths":["NOT /e/*","*","/"]
}
]
}
}
2) 确保项目中包含您的权利文件。这是下载AASA所必需的。确保您的域是正确的
3) 检查您的手机是否运行iOS 11.2。此版本的iOS有时在下载AASA文件时遇到问题。要解决此问题,您应该删除应用程序,重新启动手机,然后重新安装。我建议使用Charles Proxy检查手机是否正在下载AASA文件
4) 检查您是否已禁用应用程序中的通用链接(可能不是您的问题,但请检查)。您可以将链接复制到Notes应用程序中,然后长按该链接以提示操作表。如果您看到“在应用程序名中打开”,则可以选择该选项以打开该应用程序的通用链接。如果您没有看到,那么AASA文件没有下载或配置正确
5) 用于深度链接。它将为您节省大量调试时间。他们为您处理AASA文件,并提供延迟深度链接解决方案和其他边缘情况
如果是,那么如何设置文件的MIME类型
您可以在服务器的响应中设置它
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/json');
res.status(200).send(aasa);
});
此示例位于Express.js和from中。这个链接有一个我认为对你有用的分步指南