Да, я получил ответ ..
, для этого нам нужно внести изменения в классы info.plist и assemblyInfo.cs в проекте iOS. Ниже приведены изменения, которые необходимо внести.
@ для iOS, вам нужно добавить ключ NSAllowsArbitaryLoads к YES в словаре NSAppTransportSecurity в файле info.plist.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
@ UIWebview определяется как iOS 13. Итак, вам нужно использовать wkwebview вместо webview. добавьте следующий код в файл AssemblyInfo.cs в проекте платформы iOS для приложения
// Opt-in to using WkWebView instead of UIWebView.
[assembly: ExportRenderer(typeof(WebView), typeof(Xamarin.Forms.Platform.iOS.WkWebViewRenderer))]
А в своей странице / пользовательском интерфейсе добавьте веб-представление и назовите его «webView». А в приведенном ниже коде добавьте следующий код.
using System;
using System.Diagnostics;
using System.Web;
using Foundation;
using Xamarin.Forms;
namespace PlaidLinkXamarinForms
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
var publickey = "YOUR_PUBLIC_KEY";
var env = "Sandbox"; //development, production
var product = "auth"; //transactions, auth, identity, income, assets, investments, liabilities
var clientName = "PlaidLinkXamarinForms"
var url = "https://cdn.plaid.com/link/v2/stable/link.html?isWebview=true&key=" + publickey + "&env=" + env + "&product=" + product + "&selectAccount=true&clientName=" + clientName + "&isMobile=true";
webView.Source = url;
webView.Navigating += async (sender, e) =>
{
if (e.Url.ToLower().Contains("plaidlink:"))
{
e.Cancel = true;
}
else
{
e.Cancel = false;
}
var linkScheme = "plaidlink";
var scheme = new Uri(e.Url);
var param = HttpUtility.ParseQueryString(e.Url);
var actionScheme = scheme.Scheme;
var actionType = scheme.Host;
if(actionScheme == linkScheme)
{
switch (actionType)
{
case "connected":
Debug.WriteLine("Successfully Connected");
break;
case "exit":
Debug.WriteLine("Exit");
break;
case "event":
Debug.WriteLine($"Event name: {param["event_name"]}");
break;
default:
Debug.WriteLine($"Link action detected: {actionType}");
break;
}
}
};
}
}
}
Перед тем, как сделать это, вы должны настроить свою учетную запись на веб-сайте Plaid. Там вы получите несколько ключей, которые нужно добавить в приведенный выше код.