我的 xamarin.forms 应用程序旨在使用Launcher.OpenAsync()
“zoomus://zoom.us/join?confno=1234567890&pwd=123456”形式的 uri 方案在移动设备上加入 Zoom 会议。
这在 Android 上运行良好,但在 iOS 上似乎根本没有做任何事情。我Launcher.CanOpenAsync()
事先打电话,返回true,所以uri应该没问题。Zoom 应用程序已安装。在 info.plist 我已将 zoomus(和缩放)添加到LSApplicationQueriesSchemes
.
我的代码如下所示:
private void RunZoomAsync()
{
Task zoomTask = Task.Run(async () =>
{
if (await Launcher.CanOpenAsync(selectedMedia.Uri))
{
Message = "Launching Zoom";
await Launcher.OpenAsync(selectedMedia.Uri).ConfigureAwait(false);
}
else
{
Message = "Zoom not found. You must install Zoom from your App Store";
}
});
}
我在屏幕上看到了这条消息,所以我知道它找到了正确的代码。
我尝试通过电子邮件将相同的链接发送到 iPhone,但也没有任何作用。(我在 Android 手机上尝试过,电子邮件应用程序甚至不会将链接显示为超链接)。iPhone 或我的应用程序中是否有允许深度链接的设置?
您可能已经猜到了,我通常不是 iPhone 用户。我正在使用旧的 iPhone 6 进行测试,运行 iOS 12.4.8。
求助于Zoom开发者论坛,有人建议在iOS中使用url scheme时,有一个AppDelegate
函数需要重写:
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
我猜上面不是 C#,Essentials Launcher 类可以处理 iOS 中所需的任何内容。
我错过了什么,还是这是一个错误?任何帮助将不胜感激。