我尝试在我的应用中使用Universal Links作为URL Schemes的替代品,因为从iOS 9开始,每次从Safari调用应用程序时,系统都会显示一个警告对话框。我希望在使用Universal Links时替换URL方案调用Associated Domains中注册的URL路径会使对话框消失。
因此,我不会致电myscheme://app?params=values
而是致电https://example.com/universal-link/wakeup?params=values
。
我的apple-app-site-association(unsigned)文件看起来像这样
{
"applinks": {
"apps": [],
"details": [
{
"appID": "XXXXXXXX.com.company.appid",
"paths": [ "/universal-link/*" ]
}
]
}
}
请注意,目前,我使用的是公司局域网中托管的网络服务器,它不是互联网上的公共服务器。所以在app功能" Associated Domains"我写了类似applinks:host.company.lan:7700
的内容,但在应用首次启动后, apple-app-site-association文件永远不会被提取。
我不知道还有什么可以尝试,所以我在考虑服务器在私有网络中可能是个问题。
答案 0 :(得分:2)
我在Apple开发者论坛中发现了这个question,可以说明这一点。
看起来问题是,由不受信任的根签名的域托管的apple-app-site-association,如果您在系统中安装根证书并不重要,它就不会出现问题下载也。我认为它必须由iOS中已包含的CA签名。
答案 1 :(得分:0)
我让它在专用网络上工作,但我不得不相信设备上的证书。
要在模拟器上进行测试,您可以将证书拖到模拟器中,在设备上将其邮寄到设备或将其空投到设备
答案 2 :(得分:0)
我一直在尝试使用开发人员模式(“关联的域”开关),这使VPN内的内部域都可以使用,但是我认为对于非技术用户来说,这不是最佳的解决方案。
Apple WWDDC´20视频后面的“默认”选项是将根证书安装为设备中受信任的证书。但这至少对我来说是行不通的。