在 flutter 中为 ios 深层链接设置 XCode 苦苦挣扎

Struggling with XCode Settings for ios deeplinking on flutter

我的应用程序应该在有人点击 link 时打开,例如: https://catalogscanner.horizonpedia.com/P7GWqM6ADnG 这适用于我的 android phone 所以我假设我已经在编码站点上正确地完成了所有事情。 (我为此使用 https://pub.dev/packages/uni_links) 所以我首先将域添加到我的 runner.entitlemens,如您所见。 Target Membership 类别显示有未勾选的跑步者:

当我勾选方框并开始构建时,构建失败并显示以下错误消息:

要解决此问题,我必须删除信息。来自我的“构建阶段”部分的“复制捆绑资源”的 plist:

如果我的理解是正确的,那么 runner entitlement 的 target membership 应该是 Runner 吧?

我可以尝试其他方法来解决问题吗?

这些文件都不需要选中它们的目标成员资格复选框。这些复选框主要适用于源文件,例如典型的 Swift 文件 (.swift) 或 Objective-C 实现文件 (.m)。

它们也不应该是 复制捆绑资源 阶段的一部分。您只需确保在应用程序目标的“构建设置”窗格中,Info.plist 文件已正确设置,如下所示:

关于通用 Link 支持,您首先必须确保您上传的 apple-app-site-association 文件格式正确(我刚刚通过您的域检查过,它似乎无效 JSON 因为我的浏览器 Firefox 告诉我它在解析它时遇到问题;您也可以在线查找 AASA 验证器来确认这一点)。

过程如下:当 iOS 安装您的应用程序时,它会查找您在 .entitlements 文件中提到的域。然后它将从此指定域检索 AASA 文件并将您的应用程序注册为那些 link 的处理程序。然后,如果您碰巧浏览或单击 to/on a link 匹配您在 AASA 文件中指定的路径,那么您的应用程序应该启动并且您将在您的应用程序委托中有适当的回调,您可以在其中拦截link 并采取适当的行动。

如果您想了解有关通用 [​​=34=] 支持的更多信息,可以查看 Apple developer documentation