【发布时间】:2015-10-02 09:34:35
【问题描述】:
我正在尝试让通用链接在我的应用程序中作为 URL 方案的替代品工作,因为从 iOS 9 开始,每次从 Safari 调用应用程序时,系统似乎都会显示一个警报对话框。我希望在使用通用链接时替换关联域中注册 URL 路径的 URL 方案调用会使对话框消失。
所以我不会打电话给myscheme://app?params=values,而是打电话给https://example.com/universal-link/wakeup?params=values。
我的 apple-app-site-association(未签名)文件如下所示
{
"applinks": {
"apps": [],
"details": [
{
"appID": "XXXXXXXX.com.company.appid",
"paths": [ "/universal-link/*" ]
}
]
}
}
请注意,目前我使用的是托管在公司局域网中的网络服务器,它不是互联网上的公共服务器。因此,在应用功能“关联域”中,我写了类似 applinks:host.company.lan:7700 的内容,但在应用首次启动后,apple-app-site-association 文件永远不会获取。
我不知道还可以尝试什么,所以我认为服务器在专用网络中可能是个问题。
【问题讨论】:
-
这行不通。 Apple 不会抓取私有 LAN。如果您查看设备日志(不是应用程序日志),您可能会看到如下消息:
Sep 21 14:27:01 Derricks-iPhone swcd[2044] <Notice>: 2015-09-21 02:27:01.878907 PM [SWC] ### Rejecting URL 'https://examplecustomdomain.com/apple-app-site-association' for auth method 'NSURLAuthenticationMethodServerTrust': -6754/0xFFFFE59E kAuthenticationErrmore info here -
抱歉,您更有可能看到此错误:
Oct 6 17:15:00 Derricks-iPhone swcd[4351] <Notice>: 2015-10-06 05:15:00.357483 PM [SWC] ### Download URL 'https://host.company.lan:7700/apple-app-site-association' failed: NSURLErrorDomain, -1003/0xFFFFFC15 kCFURLErrorCannotFindHost -
其实我查过了,我看到的是你贴的第一个错误
-
有趣,然后它似乎在抓取它,但不喜欢它不是通过 TLS 提供的。
标签: ios ios9 ios-universal-links