为通用链接配置Xamarin.Forms iOS应用程序?

为通用链接配置Xamarin.Forms iOS应用程序?,xamarin.forms,xamarin.ios,ios-universal-links,Xamarin.forms,Xamarin.ios,Ios Universal Links,我遵照这些指示。该应用程序是Xamarin.Forms iOS应用程序 这是我不确定的 首先,我将一个众所周知的文件夹添加到我的MVC5 Web应用程序中。我无法添加.已知文件夹。因为我无法在文件夹前面添加“.”,所以我使用Azure门户添加了一个虚拟目录 当我尝试使用访问该文件时,会收到以下消息 您正在查找的资源已被删除、名称已更改或暂时不可用 其次,我必须使用XML文本编辑器编辑authentications.plist。下面是我的条目 <plist version="1.0"&g

我遵照这些指示。该应用程序是Xamarin.Forms iOS应用程序

这是我不确定的

首先,我将一个众所周知的文件夹添加到我的MVC5 Web应用程序中。我无法添加.已知文件夹。因为我无法在文件夹前面添加“.”,所以我使用Azure门户添加了一个虚拟目录

当我尝试使用访问该文件时,会收到以下消息

您正在查找的资源已被删除、名称已更改或暂时不可用

其次,我必须使用XML文本编辑器编辑authentications.plist。下面是我的条目

<plist version="1.0">
 <dict>
  <key>com.apple.developer.associated-domains</key>
  <array>
    <string>applinks: portal.mydomain.com</string>
    <!--<string>your domain</string>-->
  </array>
 </dict>
</plist>
//AppLinks应用程序未运行

最后,我创建了这个方法,调用OnApplicationRequestReceived

问题是ContinueUserActivity和OpenUrl从未被调用

下面是我想使用通用链接打开/提示应用程序的Url示例

非常感谢您的任何想法、帮助或建议。谢谢

更新1

我在我的已知文件夹中添加了一个新的web.config文件,并对其进行了如下配置。我现在可以访问这两个文件。不过,我的iOS通用链接仍然不起作用

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
 <system.webServer>
  <staticContent>
   <mimeMap fileExtension="." mimeType="application/octet-stream" />
   <mimeMap fileExtension=".json" mimeType="application/json" />
  </staticContent>
 </system.webServer>
 </configuration>

更新2

我终于明白了为什么我的authentications.plist文件不包含关联域的选项。要查看该选项,您必须右键单击该文件,选择“打开方式…”并选择“属性列表编辑器”

更新3

我刚刚运行了这个验证工具,一切都是绿色的。它查找苹果应用程序站点关联文件

您的域是有效的(有效的DNS)。 您的文件通过HTTPS提供。 服务器不会返回大于400的错误状态代码。 找到文件的“内容类型”标题:) 您的JSON已验证

更新4

我只是做了一个清洁,重建和建设。通用链接仍然不起作用

更新5


我升级到Visual Studio 2017 Enterprise和Xamarin.iOS 11.9.1.24。我现在正在使用11.3SDK,但仍然无法获得通用链接。我也升级到了Xamarin.Forms 2.5.1.444934。

我也遇到了同样的问题,apple应用程序站点关联文件验证得很好,我在AppDelegate.cs中实现了ContinueUserActivity和OpenUrl方法,但在使用外部Mac构建主机从Windows计算机构建和部署时,我的通用链接不起作用

所以我想我应该尝试同样的过程,但这次我用visualstudioformac在我的Mac构建主机上本地运行所有东西。
克隆了这个项目,从我的手机上删除了这个应用程序,重新构建了这个项目,部署了,瞧,它像一个魔咒一样工作。

我最终通过删除这一行中的空格使它工作起来

<string>applinks: portal.mydomain.com</string>
applinks:portal.mydomain.com
现在是这样的

<string>applinks:portal.mydomain.com</string>.
applinks:portal.mydomain.com。
我发现了,因为我在向应用商店提交应用程序时出错。错误是:

应用程序包的签名包含iOS不支持的代码签名权限。具体来说,有效负载中的key com.apple.developer.associated-domains的value-applinks:portal.mydomain.com


嗨,如果你解决了你的问题,你能创建一个答案或评论来澄清它吗?@ColeXia MSFT我需要向Xamarin提交一个bug吗?自从我第一次发布这个已经一个多月了,它仍然不起作用。有没有办法检查应用程序是否正在使用/下载apple应用程序站点关联文件?谢谢
<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
 <system.webServer>
  <staticContent>
   <mimeMap fileExtension="." mimeType="application/octet-stream" />
   <mimeMap fileExtension=".json" mimeType="application/json" />
  </staticContent>
 </system.webServer>
 </configuration>
<string>applinks: portal.mydomain.com</string>
<string>applinks:portal.mydomain.com</string>.