私有LAN上的通用链接

时间:2015-10-02 09:34:36

标签: ios ios9 ios-universal-links

我尝试在我的应用中使用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文件永远不会被提取

我不知道还有什么可以尝试,所以我在考虑服务器在私有网络中可能是个问题。

3 个答案:

答案 0 :(得分:2)

我在Apple开发者论坛中发现了这个question,可以说明这一点。

看起来问题是,由不受信任的根签名的域托管的apple-app-site-association,如果您在系统中安装根证书并不重要,它就不会出现问题下载也。我认为它必须由iOS中已包含的CA签名。

答案 1 :(得分:0)

我让它在专用网络上工作,但我不得不相信设备上的证书。

要在模拟器上进行测试,您可以将证书拖到模拟器中,在设备上将其邮寄到设备或将其空投到设备

答案 2 :(得分:0)

我一直在尝试使用开发人员模式(“关联的域”开关),这使VPN内的内部域都可以使用,但是我认为对于非技术用户来说,这不是最佳的解决方案。

Apple WWDDC´20视频后面的“默认”选项是将根证书安装为设备中受信任的证书。但这至少对我来说是行不通的。