0

我正在用 xamarin 开发一个应用程序。而且我无法通过 Safari 中的链接(通用链接)或电子邮件客户端打开 iOS 应用程序。有人可以告诉我我可能做错了什么吗?

我在用:

  • Windows 上的 Visual Studio 2019(更新)
    • 我已启用自动配置
  • 通过 macincloud 租用 mac 来编译源代码 (bigSur)
  • 在 iPad 上测试最新的 iOS14 是什么

在 Entitlements.plist 我添加了:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)com.redacted.redacted</string>
    </array>
    <key>com.apple.developer.networking.wifi-info</key>
    <true/>
    <key>com.apple.developer.associated-domains</key>
    <array>
        <string>applinks:mydomain.nl</string>
        <string>applinks:*.mydomain.nl</string>
    </array>
</dict>
</plist>

mydomain 当然是一个有效的域。我尝试过 ?mode=developer,但我的域是可公开访问的,因此不需要这样做。我也不能将我的 iPad 置于开发者模式,因为我在 Windows 上。

在网络服务器上,我添加了一个带有 apple-app-site-association 的 .well-know 文件夹,其中包含以下内容:

{
    "applinks": {
        "apps": [],
        "details": [{
            "appID": "redacted.com.redacted.redacted",
            "components": [

                {
                    "/": "/verify_email/*",
                    "comment": "Matches any URL whose path starts with /verify_email/"
                }
            ],
            "paths": [
                "/verify_email/*"
            ]
        }]
    }
}

iOS 14 的“组件”和 iOS 14 之前的设备的“路径”

https://branch.io/resources/aasa-validator/验证全部成功:

Your domain is valid (valid DNS).
Your file is served over HTTPS.
Your server does not return error status codes greater than 400.
Your file's 'content-type' header was found :)
Your JSON is validated.

我有一种感觉,我错过了一些东西。启用 URL 类型就像一个魅力。但我不喜欢使用像 myapp://mydomain.nl/verify_email/abcd 这样的网址

提前致谢!

缺口

[编辑1]

在“swcd”上的设备日志中过滤给我以下错误: Time Device Name Type PID Tag Message Jul 26 16:26:00 iPad-van-Nick Error 233 swcd Error getting enterprise-managed associated domains data. If this device is not enterprise-managed, this is normal: Error Domain=SWCErrorDomain Code=1701 "Failed to get associated domain data from ManagedConfiguration framework." UserInfo={NSDebugDescription=Failed to get associated domain data from ManagedConfiguration framework., Line=298, Function=<private>}

4

1 回答 1

0

如果您有兴趣,我最近写了一篇关于此的博客文章:https ://blog.ostebaronen.dk/2021/04/ios-applinks.html

我苦苦挣扎的是 apple-app-site-association 文件的内容,Apple 没有提供 JSON 模式来验证其内容。我尝试了他们也在文档中提供的几种格式,最后我得到了以下内容:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "<app id prefix>.<bundle id>",
                "paths": [ "/pin/*"]
            }
        ]
    }
}

这适用于与以下内容匹配的 URL https://trackman.com/pin/123456:. 另外,请确保您的 appID 与您的 App 匹配。

带有组件和路径的格式根本不适合我。

于 2021-07-26T12:57:11.150 回答