Size: a a a

Xamarin Developers

2021 January 12

VK

Vlad Khasenevich in Xamarin Developers
Artemko
Ребят , подскажите где я туплю. Вот 5 минут назад все работало.
Ну та вот же
Целевая платформа
Смените на 10-й андроид
источник

A

Artemko in Xamarin Developers
источник

A

Artemko in Xamarin Developers
Я все уже проклацал
источник

VK

Vlad Khasenevich in Xamarin Developers
Сохраните и пересоберите проект
источник
2021 January 13

M

Max in Xamarin Developers
как писать код в многоцелевом проекте? выкачал плагин чтобы доработать а там все серо. в запускаемом проекте выбран android
источник

ЕС

Евгений Сотников... in Xamarin Developers
Народ, поддерживает-ли Xamarin SwitchMaterial? Я почему-то при указании его в верстке получаю

Binary XML file line #1: Error inflating class com.google.android.material.switchmaterial.SwitchMaterial
Didn't find class "com.google.android.material.switchmaterial.SwitchMaterial"
источник

KA

Kirill Ashikhmin in Xamarin Developers
Евгений Сотников
Народ, поддерживает-ли Xamarin SwitchMaterial? Я почему-то при указании его в верстке получаю

Binary XML file line #1: Error inflating class com.google.android.material.switchmaterial.SwitchMaterial
Didn't find class "com.google.android.material.switchmaterial.SwitchMaterial"
Подключена ли библиотека с ним? И, вероятно, там мог поменяться путь до контрола, надо смотреть официальную доку
источник

ЕС

Евгений Сотников... in Xamarin Developers
Kirill Ashikhmin
Подключена ли библиотека с ним? И, вероятно, там мог поменяться путь до контрола, надо смотреть официальную доку
А в каком нагете он должен лежать?
источник

KA

Kirill Ashikhmin in Xamarin Developers
Евгений Сотников
А в каком нагете он должен лежать?
Material componets
источник

M

Mr 🐺 in Xamarin Developers
Господа, пытаюсь сделать авторизацию через telegram в XF-приложении.
Домен боту скормил, захостил тестовую страницу здесь - htt ps:// nok3250 .github. io/auth
При прохождении flow через мобильный хром всё работает, при попытке сделать то же через зашитый в приложение webView - получаю дефолтную ошибку domain invalid, в чём может быть косяк, может кто подскажет?
источник

M

Mr 🐺 in Xamarin Developers
Заметил разницу, что хром делает запрос на
htt ps://oauth  .telegram .org/auth/get?bot_id=1522237982&lang=ru

а встроенный webView на
htt ps:// oauth  .telegram .org/auth/get?bot_id=1522237982&lang=ru
и потом редиректит на
htt ps:// oauth  .telegram .org/auth/push?bot_id=1522237982&origin=https %3A%2F%2Fnok3250 .github .io&embed=1&request_access=write

в ответе от последнего получает
<html><head><script>try { window.opener.postMessage(JSON.stringify({event: 'auth_result', result: {"id":531646,"first_name":"\u0427\u044b\u043a","last_name":"\u0427\u044b\u0440\u044b\u043a\u1160","auth_date":1610540352,"hash":"40b88796209b862904ea980403bdcc719a1f1f7757550349d93dc00aa7527b54"}, origin: "ht tps:\/\/ nok3250   .github .io"}), "htt ps:\/\/ oauth. telegram. org"); } catch(e) { if (origin) alert('Bot domain invalid'); }window.close();</script></head></html>
источник

VA

Victor Arbuzov in Xamarin Developers
Mr 🐺
Заметил разницу, что хром делает запрос на
htt ps://oauth  .telegram .org/auth/get?bot_id=1522237982&lang=ru

а встроенный webView на
htt ps:// oauth  .telegram .org/auth/get?bot_id=1522237982&lang=ru
и потом редиректит на
htt ps:// oauth  .telegram .org/auth/push?bot_id=1522237982&origin=https %3A%2F%2Fnok3250 .github .io&embed=1&request_access=write

в ответе от последнего получает
<html><head><script>try { window.opener.postMessage(JSON.stringify({event: 'auth_result', result: {"id":531646,"first_name":"\u0427\u044b\u043a","last_name":"\u0427\u044b\u0440\u044b\u043a\u1160","auth_date":1610540352,"hash":"40b88796209b862904ea980403bdcc719a1f1f7757550349d93dc00aa7527b54"}, origin: "ht tps:\/\/ nok3250   .github .io"}), "htt ps:\/\/ oauth. telegram. org"); } catch(e) { if (origin) alert('Bot domain invalid'); }window.close();</script></head></html>
возможно, вам нужно поставить JavaScriptEnabled для webview?
источник

M

Mr 🐺 in Xamarin Developers
Включено
источник

M

Mr 🐺 in Xamarin Developers
private const string JavascriptFunction = "function invokeCSharpAction(data){jsBridge.invokeAction(data);}";

Control.SetWebViewClient(new JavascriptWebViewClient(this, $"javascript: {JavascriptFunction}"));
Control.AddJavascriptInterface(new JSBridge(this), "jsBridge");
 if (Control.Settings != null)
               {
                   Control.Settings.JavaScriptEnabled = true;
                   Control.Settings.SafeBrowsingEnabled = false;
                   Control.Settings.JavaScriptCanOpenWindowsAutomatically = true;
               }

 Control.LoadUrl($"{((HybridWebView)Element).Uri}");
источник

M

Mr 🐺 in Xamarin Developers
JS нужен для интерцепции, чтобы когда отработает flow забрать json с данными юзера и обработать их уже в  C#

Без него на обычном webView падало точно так же

Пробовал для теста завести через OAuth2Authenticator - там ошибка не воспроизводится, но и евент Success не тригеррится, кто знает какой view юзает Xamarin.Auth под капотом?
источник

PN

Paul N in Xamarin Developers
Евгений Сотников
Народ, поддерживает-ли Xamarin SwitchMaterial? Я почему-то при указании его в верстке получаю

Binary XML file line #1: Error inflating class com.google.android.material.switchmaterial.SwitchMaterial
Didn't find class "com.google.android.material.switchmaterial.SwitchMaterial"
Xamarin'овские обертки материал либы грешат отсутствием компонентов, проверяйте версию. У меня 1.1.0.5 и тег <com.google.android.material.switchmaterial.SwitchMaterial /> работает норм
источник

ЕС

Евгений Сотников... in Xamarin Developers
Kirill Ashikhmin
Material componets
Да, проблема была в том что у меня не добавлен

Xamarin.Google.Android.Material

Добавил Xamarin.Google.Android.Material версии 1.2.1.1 - заработало
источник

ЕС

Евгений Сотников... in Xamarin Developers
Paul N
Xamarin'овские обертки материал либы грешат отсутствием компонентов, проверяйте версию. У меня 1.1.0.5 и тег <com.google.android.material.switchmaterial.SwitchMaterial /> работает норм
Добавил Xamarin.Google.Android.Material версии 1.2.1.1 - заработало. Спасибо
источник

NK

Nikita Khromov in Xamarin Developers
Ребят, а есть варианты ускорить деплой на айофне? Сижу с ВС для винды, соединён комп с маком, в маке по проводу подключен айфон, каждый перезапуск это минуты по 3 -5 уходит, жесть какая-то
источник

ЕС

Евгений Сотников... in Xamarin Developers
Nikita Khromov
Ребят, а есть варианты ускорить деплой на айофне? Сижу с ВС для винды, соединён комп с маком, в маке по проводу подключен айфон, каждый перезапуск это минуты по 3 -5 уходит, жесть какая-то
перейти полостью на мак
источник