我正在尝试将Universal Links作为URL Schemes的替代品在我的应用程序中运行,因为从iOS 9开始,每次从Safari调用应用程序时,系统都会显示一个警告对话框 . 我希望在使用Universal Links时替换URL方案调用Associated Domains中注册的URL路径会使对话框消失 .
因此,我会调用 https://example.com/universal-link/wakeup?params=values
而不是调用 myscheme://app?params=values
.
我的apple-app-site-association(unsigned)文件看起来像这样
{
"applinks": {
"apps": [],
"details": [
{
"appID": "XXXXXXXX.com.company.appid",
"paths": [ "/universal-link/*" ]
}
]
}
}
请注意,目前,我使用的是公司局域网中托管的网络服务器,它不是互联网上的公共服务器 . 所以在应用程序功能"Associated Domains"我写了类似 applinks:host.company.lan:7700
之类的内容,但应用程序首次启动之后的 apple-app-site-association file is never fetched .
我不知道还有什么可以尝试,所以我在考虑服务器在私有网络中可能是个问题 .
2 回答
我在Apple开发者论坛中找到了这个question,它揭示了这一点 .
看起来问题是,由不受信任的根签名的域托管的apple-app-site-association,如果您在系统中安装根证书并不重要,它也不会下载 . 我认为它必须由iOS中已包含的CA签名 .
我让它在专用网络上工作,但我不得不相信设备上的证书 .
要在模拟器上进行测试,您可以将证书拖到模拟器中,在设备上将其邮寄到设备或将其空投到设备上