首页 > 解决方案 > iOS 14 上的通用链接问题

问题描述

我有一个支持 UniversalLink 的应用程序。单击网站中支持的链接的用户将被导航到应用程序中的功能。但它不适用于 iOS 14 beta 4。它没有打开应用程序,而是转向网页插入。



<strong>当我选择开发或 hdhok 配置文件时,UniversalLink 工作正常。但是当我将它上传到 TestFlight 时,它不起作用。

经过研究,我可以从这里的文档中看到https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_associated-domains

对于 iOS 14 支持,我向关联的域权利添加了一个查询字符串,如下所示(对于开发模式):

   <service>:<fully qualified domain>?mode= developer

我使用了一个无法从公共互联网访问的私人网络服务器。但是,如果我选择分发证书,那么我必须设置哪种备用模式才能绕过 CDN 并直接连接到我的私有域?

创建了我的 apple-app-site-association 文件。这是我的文件:</p>

{
"applinks": {
    "details": [
    {
    "appIDs": [ "ABCDE12345.com.example.app" ],
    "components": [
    
    {
    "/": "/coupleinvite/*",
    "comment": "Matches any URL whose path starts with /coupleinvite/"
    },
    {
    "/": "/menu/groupvideocall/*",
    "comment": "Matches any URL whose path starts with /menu/groupvideocall/"
    }
    ]
    }
    ]
}
}

将域添加到权利

<key>com.apple.developer.associated-domains</key>
<array>
    <string>applinks:example .com</string>
</array>

标签: iosios14ios-universal-links

解决方案


查看有关此主题的WWDC 视频(接近尾声)。Testflight 不适用于开发人员模式开关。只能按照您的描述工作。

macOS Big Sur 和 iOS 14 中有两种备用模式,它们的区别在于您何时使用它们。

第一种备用模式称为“开发人员模式”,它设计用于在将应用程序部署到 TestFlight 或最终用户之前构建和测试应用程序。

第二种备用模式称为“托管模式”,适用于使用 MDM 配置文件安装应用程序时使用。今天我们将专注于开发者模式。

在 App Store 或 TestFlight 上为分发而签名的应用程序或已签名和公证的 Mac 应用程序不能与此替代模式一起使用。

上面的关键点是“在将其部署到 Testflight 之前”。


推荐阅读