You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI iOS通用深度链接未被应用处理的问题排查

iOS 端处理 Teams HTTPS 链接的限制与解决方案

核心问题原因

iOS 的安全机制与 Android 存在差异:

  • Android 允许通过 Intent Filter 拦截任意 HTTPS 链接并唤起应用选择列表;
  • 对于 HTTPS 链接,iOS 优先采用 Universal Links 机制,只有域名所有者(此处为微软)在 apple-app-site-association 文件中授权的应用,才能直接处理该域名的链接。微软已为 Teams 应用配置了该域名的 Universal Links,因此点击链接时会直接打开 Teams 或 Safari,不会弹出其他应用的选择框。

可行的实现方案(无需额外网站)

由于无法修改微软域名的 apple-app-site-association 文件,无法直接拦截官方 Teams 链接,但可通过以下方式实现类似需求:

1. 自定义 URL Scheme + 手动跳转引导

  • 在 Info.plist 中注册自定义 URL Scheme(示例为 myteamsapp):
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
        <key>CFBundleURLSchemes</key>
        <array>
          <string>myteamsapp</string>
        </array>
      </dict>
    </array>
    
  • 在应用内添加链接转换功能:让用户复制 Teams 会议链接后,应用将其转换为 myteamsapp://open?url=https%3A%2F%2Fteams.microsoft.com%2F... 格式的自定义链接,引导用户点击该链接唤起应用。
  • 在 AppDelegate 的 OpenUrl 方法中解析参数并处理原 Teams 链接:
    public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
    {
        if (url.Scheme == "myteamsapp")
        {
            var queryParams = NSUrlComponents.FromUrl(url, false).QueryItems;
            var teamsUrl = queryParams.FirstOrDefault(item => item.Name == "url")?.Value;
            if (!string.IsNullOrEmpty(teamsUrl))
            {
                // 此处编写 Teams 链接的处理逻辑
                return true;
            }
        }
        return base.OpenUrl(app, url, options);
    }
    

2. 通过 Safari 共享菜单唤起应用

  • 在 Info.plist 中配置应用支持处理 public.url 类型内容:
    <key>CFBundleDocumentTypes</key>
    <array>
      <dict>
        <key>CFBundleTypeName</key>
        <string>URL</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
          <string>public.url</string>
        </array>
      </dict>
    </array>
    
  • 用户先在 Safari 中打开 Teams 链接,点击 Safari 的分享按钮,选择你的应用即可唤起,此时 OpenUrl 方法会接收并处理该链接。

原配置的检查提示

如果你的 Info.plist 仅配置了自定义 URL Scheme,确实无法拦截 HTTPS 链接;若尝试配置了 Universal Links(applinks:teams.microsoft.com),由于缺少微软域名的官方授权,该配置不会生效。

内容的提问来源于stack exchange,提问作者David Shochet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:38:21