Xamarin.forms: [Bug] [iOS] GestureRecognizers не работают в iOS 13.4

Созданный на 1 апр. 2020  ·  124Комментарии  ·  Источник: xamarin/Xamarin.Forms

ВАЖНОЕ ОБНОВЛЕНИЕ ПО ЭТОМУ ВОПРОСУ. ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ ПЕРЕД КОММЕНТАРИЕМ

⚠️ Пожалуйста, обновите Visual Studio для Mac (v8.5.2) и Windows (v16.5.3) до последней стабильной версии, мы выпустили обновление, которое включает исправление. Еще раз благодарим за терпение.


Описание

После обновления до xcode 11.4 и iOS 13.4 GestureRecognizer (TapGestureRecognizer) перестали работать на iOS. Android работает как положено.

Действия по воспроизведению

  1. Создание мобильного приложения Xamarin Forms
  2. Добавьте метку с помощью TapGestureRecognizer
  3. Попробуйте вызвать TapGestureRecognizer

Ожидаемое поведение

TapGestureRecognizer вызывается

Фактическое поведение

TapGestureRecognizer не вызывается

Основная информация

При обновлении MacOS до конфигурации ниже TapGestureRecognizer перестает работать на платформе iOS.

Конфигурация

Mac Catalina 10.15.4
VS2019 16.5.2
Пакет Xamarin VS 13.6.0.11
Xamarin.Forms 4.5.0.495

Ссылка на воспроизведение

Ссылка

external-macios regression iOS 13 in-progress iOS 🍎 bug

Самый полезный комментарий

Небольшая просьба к ребятам из Xamarin. Пожалуйста, прекратите добавлять новые причудливые функции, которые никому не нужны, проведите дополнительное тестирование и устраните некоторые из тысячи существующих проблем. О, и, пожалуйста, передайте то же сообщение команде VS, поскольку эти ребята, похоже, проводят еще меньше тестов, чем вы :-(

Все 124 Комментарий

Это может быть связано с проблемой, которую я наблюдаю с выделениями в CollectionView.

[https://github.com/xamarin/Xamarin.Forms/issues/10160]

Это очень важно. Думаю, мне не следует торопиться с обновлением моего Mac до последней версии. Но теперь я застрял и не могу выпустить свое приложение из-за того, что распознаватели жестов не работают.
Надеюсь, исправление будет скоро выпущено.

ДА. Это критическая ошибка, которая не должна была пройти через дымовые тесты пользовательского интерфейса. Все мои распознаватели жестов в iOS не работают в нескольких проектах.

Я также использую
Mac Catalina 10.15.4
VS2019 16.5.2
Пакет Xamarin VS 13.6.0.11
Xamarin.Forms 4.5.0.495
Xcode 11.4

Может быть из-за этого нового метода делегата в UIKit.UIGestureRecognizerDelegate :

gestureRecognizer:shouldReceiveEvent:

Похоже, что это связано с https://github.com/xamarin/xamarin-macios/issues/8255, и @dalexsoto запускает его там.

Довольно легко воспроизвести: просто создайте новую основную деталь из шаблона, запустите приложение iOS.
Ни один из элементов на главной странице с возможностью перехода к деталям элемента из-за нарушенного поведения распознавателя нажатий.

@InquisitorJax - Похоже, проблема уже найдена и исправлена ​​- по крайней мере, в macios

Исправление находится в PR, как только мы получим пакет, мы проверим его. Мы считаем, что мы схватили этого лоха.

@chamons , это отличные новости - как выглядит выпуск eta - я могу представить, что очень многие люди, которые обновились, теперь мертвы из-за этого :(

Я буквально потратил так много времени на обновление Mac OS и Visual Studio, которые не синхронизируются, и теперь в последний день борюсь с этим, думая, что это мой код. Сильно разочарован Xamarin прямо сейчас ... Я просто высказываюсь. Сожалею!

В физическом устройстве с ОС 13.3 вроде работает корректно, в симуляторе с версией 13.4 не работает ...

Я тоже мертв в воде, ожидая этого исправления. Знаем ли мы ETA, когда исправление будет опубликовано?

У меня нет даты, чтобы поделиться, но у вас может быть несколько вариантов, если вы используете macOS.

  • Переход на предыдущую стабильную версию (https://download.visualstudio.microsoft.com/download/pr/8f94ca38-039a-4c9f-a51a-a6cb33c76a8c/21e09d8084eb7c15eaa07c970e0eccdc/xamarin.ios-13.14.1.39.pkg)
  • Через несколько часов у нас будет Xamarin.iOS с исправлением из нашей машины сборки, которое вы сможете установить. Я отправлю его сюда, когда он будет завершен.

@chamons, когда вы говорите исправление, будет ли это предварительная версия nuget 4.6.x? Просто пытаюсь понять, на что обращать внимание.

Исправление будет в самом новом Xamarin.iOS SDK, а не в nuget Xamarin.Forms. Существует взаимодействие между недавно привязанным API iOS и Xamarin.Forms, которое вызывает рассматриваемую проблему.

Это одна из причин того, что откат к более старому пакету iOS «исправит» это, как я уже отмечал здесь .

Откат не сработает, если вы разрабатываете в Visual Studio Windows и используете агент сопряжения с Mac. Я получаю жалобу на несоответствие Xamarin.iOS и агент сопряжения обновит Xamarin.iOS.

image

Обновление: я обнаружил, что могу запустить проект прямо на Mac, а не из Windows с помощью агента сопряжения.

Мне удалось обойти это, установив VS 16.6 Preview 2 - приложение, похоже, нормально работает с альтернативной установкой X.iOS, используемой там - не уверен, что я хочу полагаться на предварительную сборку, хотя.
Удачи разработчикам в этом деле - надеюсь, исправление скоро выйдет;)

Как уже упоминалось, загрузите симуляторы 13.3. 13.3 sims - это загрузка 3 ГБ, и это намного быстрее, чем пытаться откатить VS.

@lhughey откат не от VS, это от SDK фреймворка Xamari.iOS на компьютере Mac - это сделать намного быстрее, чем загрузка симок 3 ГБ :-)

Я вижу, что этот билет сейчас закрыт. Как / где мне скачать обновление Xamarin.iOS SDK ???

  • Через несколько часов у нас будет Xamarin.iOS с исправлением из нашей машины сборки, которое вы сможете установить. Я отправлю его сюда, когда он будет завершен.

@chamons - похоже, что сборка завершена уже несколько часов. Есть какие-нибудь ETA, когда это будет опубликовано? Обратите внимание, что, поскольку я работаю на компьютере под управлением Windows, откат к предыдущей версии невозможен. И у меня есть крайний срок завершить этот проект к утру. Пока вы не опубликуете обновленный SDK, я нахожусь в тупике. Это был довольно большой перерыв в функциональности, и мне действительно нужно исправление, опубликованное около 6 часов назад. Пожалуйста, предоставьте обновленную информацию как можно скорее.

@mikeluken, вы не должны стоять на месте, если вы разрабатываете для iOS, вам понадобится Macbook для сопряжения, независимо от того. Вы все еще можете кодировать в Windows и просто протестировать его на своем Mac, вам просто понадобится одна версия более старого пакета Xamarin.iOS, установленная, как указано выше. Что касается развертывания на устройствах, это не должно быть проблемой, поскольку оно отлично работает на устройствах. Если вы действительно хотите выполнить сопряжение и протестировать, другой вариант - использовать симуляторы iOS 13.3.

Привет @mikeluken , проблема была закрыта GitHub из-за слияния фиксации с исправлением, тем временем вы можете загрузить новые нотариально заверенные пакеты Xamarin.iOS / Mac из проверок состояния фиксации GitHub любой из наших веток (см. Ниже изображение для примера), этот конкретный живет внутри нашей ветки под названием d16-5-xcode11.4

image

Пакеты были созданы несколько минут назад, и для вашего удобства я вставил ссылки ниже:

Вы можете протестировать вышеуказанные пакеты и сообщить нам, если у вас возникнут дополнительные проблемы, о доступности через обновления VS должны появиться в ближайшее время.

Если вы хотите продолжить разработку без установки вышеупомянутых пакетов, загрузка более старых версий Simulator, как указано @rezamohamed, является отличным

@dalexsoto проблема с новыми пакетами заключается в том, что вы по-прежнему не можете использовать компьютер Windows для подключения к этому Mac из-за проблемы несоответствия Xamarin Mac и Windows, верно? Даже откат одной версии вниз вызывает проблему с объединением, поэтому это должно быть скоординированное обновление для VS Win и Mac.

@dalexsoto проблема с новыми пакетами заключается в том, что вы по-прежнему не можете использовать компьютер Windows для подключения к этому Mac из-за проблемы несоответствия Xamarin Mac и Windows, верно? Даже откат одной версии вниз вызывает проблему с объединением, поэтому это должно быть скоординированное обновление для VS Win и Mac.

просто отмените, когда VS запросит «обновление» (в данном случае это будет переход на более раннюю версию), вы получите предупреждение о «проблемах с установкой», он все равно подключится.

image

@dalexsoto - Как / куда мне установить файлы .pkg? Знаю в Visual Studio на ПК. Но не знаю, как ссылаться на загруженный файл ...

@mikeluken, вы сможете установить эти файлы pkg на свой узел сборки Mac, дважды щелкнув файл pkg и следуя инструкциям по установке.

Привет, даже после того, как я установил оба этих pgk-файла на свой Mac, проблема все еще существует.

VS в Windows предупреждает меня, что версии несовместимы, и я должен обновить. Если я нажму «Отмена», он все равно подключится. Это нормально. Но если я публикую приложение на своем физическом устройстве, ни один из GestureRecognizers не работает.

VS 16.5.2
iPhone Xs 13.4
MacOS: 10.15.4
xamarin.mac 6.16.0.13
xamarin.ios 13.16.013

При всем уважении, это должен быть худший управляемый программный проект всех времен. Вы заставляете школьников выглядеть хорошо. Каким же образом этот материал проходит тестирование и попадает в стабильный канал? Я столкнулся как минимум с 10 критическими, очевидными, полностью предотвратимыми ошибками с Xamarin.Forms, и он действительно устарел.

Спасибо @chamons за ссылку на pkg. Кажется, это временно устраняет повреждения.

Я открою его, пока он не будет опубликован для наглядности.

Итак, когда у нас будет обновление? Или я что-то упустил?

У меня такая же проблема. Я мертв в воде.

Я потратил несколько часов, выясняя, почему мое приложение не работает на iOS ... :(

ты не должен быть мертвым в воде. Прочтите https://github.com/xamarin/Xamarin.Forms/issues/10162#issuecomment -607584893 и https://github.com/xamarin/Xamarin.Forms/issues/10162#issuecomment -607585466

Я могу подтвердить, что этот пакет обновления SDK работает даже при использовании VS в Windows. Спасибо команде Xamarin за то, что расставили приоритеты и быстро исправили.

Я могу подтвердить, что этот пакет обновления SDK работает даже при использовании VS в Windows. Спасибо команде Xamarin за то, что расставили приоритеты и быстро исправили.

@EvanMulawski Что вы установили (

@ianvink Пакет SDK Xamarin.iOS, связанный в https://github.com/xamarin/Xamarin.Forms/issues/10162#issuecomment -607585466

В VS отключите предупреждение о несовместимости SDK, и он все равно подключится.

Также могу подтвердить. Работает нормально на Mac

@ianthetechie Должен согласиться. Я почти уверен, что говорю от имени большой части сообщества Xamarin Forms, когда говорю, что мы все предпочли бы, чтобы вы, ребята, сконцентрировались на стабильном проекте с правильными основами, а не беспокоились о таких функциях, как CSS для XAML. Да ладно, такие вещи просто ужасны. А почему 2 недели?

Я заставил его запустить и построить. Но теперь, когда я пытаюсь создать Bundle, VS2019 в Windows не может найти мой профиль Provisioning Profile.
Есть идеи?

@ndastur Это две недели, потому что они на самом деле собираются протестировать это, и им понадобится столько времени, чтобы понять, как что-то протестировать хотя бы раз ...

Что касается упомянутого выше профиля Provisioning Profile, я думаю, что проблема в том, что в раскрывающемся списке Signing Identity у меня ранее была опция для распространения iPhone. Эта опция больше недоступна.

Что касается упомянутого выше профиля Provisioning Profile, я думаю, что проблема в том, что в раскрывающемся списке Signing Identity у меня ранее была опция для распространения iPhone. Эта опция больше недоступна.

https://developercommunity.visualstudio.com/content/problem/957696/xamarin-ios-provisioning-profile-not-showing-when.html

@thedee.
Спасибо за ссылку. Я думаю, это могло помочь.
Все еще не то, что было раньше. Выпадающее меню «Идентификация подписи» дает мне только «Распределение (автоматическое)», но отображается список предоставления.
Таким образом, я могу создавать и архивировать, но когда я пытаюсь распространить (App Store), раскрывающееся меню «Идентификация подписи» в диалоговом окне «Распространение» оказывается пустым. Так что я никуда оттуда не денусь.

Первоначальное обновление, сломавшее жесты, было выдернуто? Я использую Bitrise для сборки и развертывания, они обновляют каждую неделю до последней стабильной версии и хотят убедиться, что она не сломается.

Я знаю, что это не имеет прямого отношения к проблеме. Но, наконец, у меня есть приложение, работающее, но я не вижу никаких удостоверений подписи (кроме автоматического) в диалоговом окне подписи пакета.
Я создал профиль обеспечения на портале разработчиков, и я вижу его в учетной записи Apple на VS2019 в Windows. Но нет никакой связи между профилем инициализации и подписывающим удостоверением.

ХОРОШО.
Так что я не вел записи, но я считаю, что это было исправлено ... Я экспортировал сертификат, связанный с профилем, и сохранил его на своем ПК с Windows. Затем в VS2020 из Tools .. Option .. Xamarin .. Apple Account я импортировал этот сертификат.
Теперь я вижу удостоверение подписи со связанным профилем подготовки.

FWIW, я использую Xamarin для создания приложения, которое работает в Windows, Android и iOS.
Apple, безусловно, самая большая головная боль для развертывания.
Для других платформ - архивирование и подпись, и в значительной степени автоматическое.

Небольшая просьба к ребятам из Xamarin. Пожалуйста, прекратите добавлять новые причудливые функции, которые никому не нужны, проведите дополнительное тестирование и устраните некоторые из тысячи существующих проблем. О, и, пожалуйста, передайте то же сообщение команде VS, поскольку эти ребята, похоже, проводят еще меньше тестов, чем вы :-(

Спасибо, что поработали над этим.

Спасибо за работу над этой проблемой! Действительно ценю это! 💪

Я полагаю, что те из нас, кто платит значительную абонентскую плату Microsoft, менее склонны благодарить вас за то, что корпорации, которая зарабатывает миллиарды долларов, должна иметь возможность протестировать и иметь возможность управлять. Малые предприятия действительно страдают, когда они не могут выпускать обновления в течение двух недель, потому что фундаментальная часть инфраструктуры выходит из строя и была выпущена как производственная.

Я также заметил, что в README нет списка тестов пользовательского интерфейса iOS (только Android / UWP). Это потому, что, как и все мы, Microsoft не может обеспечить надлежащее тестирование пользовательского интерфейса iOS для работы в Xamarin Forms?

Также немного забавно и иронично, что единственное исправление не будет работать только на Mac с Windows.

Что ж, это здорово, я думаю, множество людей кричат ​​в свой монитор, пытаясь найти, что сломало их приложение :)
Учитывая, что я почти уверен, что нам нужно будет подождать как минимум 2 недели до следующего обновления VS, возможно, вам стоит где-нибудь улучшить видимость исправленных файлов .pkg ... Я не знаю, сообщение в блоге на вашем сайте, информационный бюллетень ... просто опубликуйте ссылку и не оставляйте ее в комментариях к этому вопросу ....

Надеюсь, я ошибаюсь (относительно 2 недель), потому что это слишком большая проблема, чтобы ждать 2 недели, чтобы получить исправление в Visual Studio ... я имею в виду ... давай ...

У меня было это вчера, и я решил, понизив xamarin.iOS.Framework до версии 13.14.1.39, которую вы можете найти по адресу https://aka.ms/xvs/pkg/macios/13.14.1.39

Удалите текущий фреймворк из / Library / Frameworks и установите этот пакет.

Я использую элементы управления Syncfusion, и мои ListView также больше не реагируют на события Tap и DoubleTap. Однако, если я изменю свойство SelectionGesture на значение «Hold» и свяжу ListView с событием ItemHolding, он будет работать нормально. Все остальные испытывают это?

Для всех, кто использует сборки CI, https://github.com/jonathanpeppers/boots - отличный способ установить определенные пакеты iOS (например, исправленный). Вы можете использовать azure pipeline, dotnet или cake для установки любого необходимого пакета.

Привет всем,
Можно ли установить этот пакет на windows, используя boot? Я действительно пробовал делать
сапоги https://aka.ms/xvs/pkg/macios/13.14.1.39

и я получаю сообщение об ошибке «файл не является допустимым пакетом VSIX».
Или это исправление только для Mac?
благодаря

В основном это исправление, если у вас есть процесс CI, который должен подготовить сборки для магазина приложений. Поскольку для подготовки этих сборок вы можете использовать только Mac, будет полезно иметь возможность обновлять пакеты на вашем CI.

Если вы используете мост для Mac, просто установите pkg на свой Mac и затем закройте диалоговое окно моста, этого должно быть достаточно, чтобы вы начали локально.

Я установил эти пакеты, но надеюсь, что они не вызовут дополнительных проблем при будущих обновлениях.

@PureWeen спасибо за ответ. Если мы получим официальное исправление в ближайшие 1 неделю / 10 дней, я буду в порядке и не буду менять конвейер.

Для отладки я использую Mac mini для запуска симуляторов. Если я правильно понимаю, мне нужно установить pkg на Mac mini или дождаться исправления. Верный?

благодаря

@amirvenus, у тебя все будет хорошо. Как только пакет станет частью следующего выпуска VSMAC, он просто установится поверх него.

@ developer9969

Для отладки я использую Mac mini для запуска симуляторов. Если я правильно понимаю, мне нужно установить pkg на Mac mini или дождаться исправления. Верный?

Верный. Если вы установите его на Mac mini, все будет в порядке

Выпущено ли исправление в канале предварительного просмотра? @samhouts @PureWeen

Выпущено ли исправление в канале предварительного просмотра? @samhouts @PureWeen

Я пробовал prerelase 4.6.0.529-pre3 и все еще не работает :(

@mostafasany, это исправление является частью SDK Xamarin.iOS, а не SDK Xamarin.Forms

@ pmahend1 ошибка не проявляется при предварительном просмотре, но я почти уверен, что это потому, что предварительный просмотр не был обновлен до битов xcode 11.4, поэтому проблема не возникает.

Удаление стратегии кэширования, похоже, работает для ListViews для событий ItemTapped. Распознаватели жестов точно не работают.

Так исправлена ​​ли эта проблема? А обновление выпущено?

@dalexsoto, почему он

@rezamohamed Нет, push to origin в моей вилке каким-то образом закрыл это по ошибке, проблема остается открытой для видимости, и проблема исправлена. Исправление появится как можно скорее в новом выпуске VIsual Studio для Mac и Windows. Как только исправление будет выпущено, мы закроем эту проблему.

Примечание. Если вы только что приземлились здесь, обратитесь к описанию проблемы для получения инструкций по ее устранению.

@dalexsoto немного не по теме, но знаете ли вы о проблемах несоответствия версий, которые иногда возникают между VSwin и VSmac даже при использовании стабильных каналов? https://forums.xamarin.com/discussion/comment/406654

@dalexsoto да. Я сообщил об этом сообществу разработчиков еще в декабре. Они закрыли его, заявив, что так будет до начала 2020 года, но, похоже, это пока не исправлено. Это не происходит, когда я переключаю предварительный просмотр на Mac.

@dalexsoto Означает ли как можно скорее, что следующий выпуск VS отстает от запланированной даты из-за этой критической ошибки? или это будет в установленную дату, которая может занять до 2 недель, поскольку 16.5.2 приземлился несколько дней назад?

Я столкнулся с той же проблемой после обновления Visual Studio для Mac и Xcode :(

Все, включая элементы управления шкалой Syncfusion, работает с текущей версией Preview.

Для меня перестало работать щипковое масштабирование и перетаскивание. Тап действительно работает.

Очевидно, если я создам приложение с последней версией VS или VS4Mac и развертываю его на устройстве iOS 13.4, наши жесты перетаскивания перестают работать.
На приложения, созданные в более ранних версиях, это не повлияет. Мы можем воспроизводить как на симуляторе, так и на устройстве.
Я даже развернул приложение на устройстве 13.3, убедился, что оно работает, затем обновил устройство, и приложение перестало реагировать на эти жесты.
Однако приложения, созданные несколько месяцев назад с использованием более ранних инструментов, все еще работают. И приложения, развернутые на устройствах версии 13.3 или старше, но с новейшими инструментами, также работают.
Для меня это указывает на то, что это проблема с ОС.

Для воспроизведения создайте приложение iOS или Forms со следующим шаблоном проекта:
https://marketplace.visualstudio.com/items?itemName=Esri.ArcGISRuntimeTemplates
Разверните на устройстве 13.3 или симуляторе и обратите внимание на работу масштабирования и панорамирования.
Обновите устройство до 13.4 или разверните устройство до 13.4, и вы заметите, что масштабирование и панорамирование не работают (двойное касание для масштабирования и поворот двумя пальцами работают).
Повторите со старой версией VS (или xcode?), И жесты также работают.

Мы используем UIPinchGestureRecognizer и UIPanGestureRecognizer для этой функции. Все работающие распознаватели (например, UIRotationGestureRecognizer и UITapGestureRecognizer) объявлены практически так же, как нефункционирующие.

Для нас проблема не в формах.

После установки пакетов iOS и Mac, упомянутых здесь , событие щелчка по списку снова работает. Так что спасибо за это! Другая проблема, с которой я столкнулся, заключается в том, что источник изображения больше не отображает изображение. Эти 2 пакета также не устранили эту проблему с изображением.

Когда я это сделаю:
<Image Source="url here" />

@ hoa-ho эта проблема исправлена ​​в XF 4.5

@PureWeen Я обновил VS и XF до последних версий, но он не работает

@ hoa-ho создайте новый выпуск с репро, пожалуйста

Все еще воспроизводимо в следующей конфигурации (последние стабильные версии):

Mac OS X 10.15.4 macOS Catalina

Visual Studio Community 2019 для Mac
Версия 8.5.1 (сборка 42)
Xamarin.iOS
Версия: 13.16.0.11

XCode версии 11.4 (11E146)
iOS Симулятор ОС: 13.4

XF версии 4.5.0.530

Какое приблизительное время прибытия для решения этой проблемы?

Все еще воспроизводимо в следующей конфигурации (последние стабильные версии):

Mac OS X 10.15.4 macOS Catalina

Visual Studio Community 2019 для Mac
Версия 8.5.1 (сборка 42)
Xamarin.iOS
Версия: 13.16.0.11

XCode версии 11.4 (11E146)
iOS Симулятор ОС: 13.4

XF версии 4.5.0.530

Какое приблизительное время прибытия для решения этой проблемы?

то же самое и здесь!

Если вы читаете комментарии, исправление еще не выпущено в стабильную версию. Но вы можете скачать сборку, в которой есть исправление, если вам это нужно немедленно

Обновление до последней версии (превью) решило проблему.
https://docs.microsoft.com/en-us/visualstudio/mac/install-preview?view=vsmac-2019

Любое решение для VS для Windows (стабильная версия 16.5.2 или предварительная версия 16.6.0 2.1) или Mac (только стабильная версия) с XCode 11.4?

Как, черт возьми, он прошел тесты пользовательского интерфейса перед выпуском ..

@astralmaster из того, что я вижу в README, тестов пользовательского интерфейса для iOS вообще нет.
Я думаю, что эта ошибка должна стать решающим моментом для Xamarin Forms. Я уверен, что сообществу разработчиков нужен проверенный и стабильный продукт, а не такие функции, как CSS для XAML. Или Shell. Посмотрите на Флаттера. Нет генерации пользовательского интерфейса, но массовое внедрение, потому что такие вещи, как горячая перезагрузка, действительно работают и работают хорошо. Внутренний цикл разработки Xamarin Forms ужасно длинный.
Если бы я не поддерживал приложение, созданное ранее на XF, я не уверен, что начал бы проект с XF сейчас.

Следующий...

Обновление до последней версии (превью) решило проблему.
https://docs.microsoft.com/en-us/visualstudio/mac/install-preview?view=vsmac-2019

Я вижу в вашей ссылке, что вы связали Mac VS Preview, но я просто попробовал это в Windows Preview 16.6.0.2.1 и не вижу никаких изменений / исправлений в элементах управления списком, позволяющих выбрать элемент.

Вы тестировали это только на Mac?

К вашему сведению, TapGestureRecognizer не работает в симуляторе iOS ни на Windows, ни на Mac. Он действительно работает на физическом устройстве.

Это говорит мне о несоответствии конфигурации симулятора и реального устройства. Если вы можете переместить какие-либо команды в другой элемент управления, сейчас самое время, пока они не разрешат эту проблему. Например, у меня были распознаватели жестов в CollectionView, но вместо этого я вызывал свою логику из SelectionChangedCommand. Однако у меня все еще есть CarouselView, который еще не поддерживает SelectionChangedCommand, поэтому я застрял в использовании распознавателя жестов в элементе управления Grid. Тестировал в симуляторе. Это не работает. Тестировал на реальном устройстве. Оно работает.

Кто-то где-то в команде Xamarin уронил мяч при тестировании предыдущих рабочих функций в платформе Xamarin Forms с новой версией iOS и Xcode. Пожалуйста, исправьте как можно скорее, потому что я готовлю приложение.

@SunnyMukherjee у меня тоже не работает на физическом устройстве. Я загрузил свою сборку в TestFlight, и она ничего не делает при нажатии.

@SunnyMukherjee Какая версия iOS установлена ​​на вашем физическом устройстве? Он работает на моем iPhone 11 с iOS 13.0, но ошибка была зарегистрирована для 13.4. Я не могу протестировать эту версию iOS на физическом устройстве, но она действительно не работает в симуляторе.

Fwiw, это скорее проблема с xcode, чем с iOS 13.4.
Это означает, что если я скомпилирую свое приложение с xcode 11.3.1, проблема исчезнет (ad-hoc или TestFlight), даже для устройств под управлением iOS 13.4.

Да, у меня такая же проблема с проектом для моей компании. После обновления VS на моем MackBook эта простая строка больше не работает на iOS:

<StackLayout.GestureRecognizers>
                 <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"/>
</StackLayout.GestureRecognizers>

Я тестирую это на эмуляторе iOS, но событие не вызывается. Android работает неплохо.

Я использую:
-Mackbook Pro Catalina 10.15.4

  • Visual Studio 8.5.1-Сообщество для Mac
    -Xamarin.Essentials 1.5.2
    -Xamarin.Forms 4.5.0.530

Подтверждение того, что последняя предварительная версия Visual Studio для Windows устраняет проблему для симулятора.

@astralmaster Загрузка последней версии Visual Studio 2019 для Windows (16.6.0 Preview 2.1) тоже мне подходит.

Отправлена ​​новая версия Visual Studio, в примечаниях к выпуску эта проблема не упоминается.
https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes#16.5.3
Значит, Xamarin.iOS SDK будет поставляться отдельно?

Привет друзья 👋

Обновите до последней стабильной версии Visual Studio для Mac (v8.5.2) и Windows (v16.5.3), мы выпустили обновление, которое включает исправление. Еще раз благодарим за терпение и за тестирование наших возможных сборок.

Примечания к выпуску еще не обновлены, но в этот выпуск включается Xamarin.iOS 13.16.0.13.

Несмотря на то, что разработчики любят приходить сюда, жаловаться и швырять свои фекальные комментарии, преследуя команду Xamarin и их сборки, я, например, ценю тот факт, что, когда они находят проблему в своем коде, они быстро реагируют. Спасибо, Сэм, и команда за быстрое исправление.

Предполагается ли также, что моно-пакет будет обновлен?
image

Я взял предложенную версию, и она сработала. Действуй.

Отличная работа, ребята. Спасибо за быстрый ответ.

@SunnyMukherjee Какая версия iOS установлена ​​на вашем физическом устройстве? Он работает на моем iPhone 11 с iOS 13.0, но ошибка была зарегистрирована для 13.4. Я не могу протестировать эту версию iOS на физическом устройстве, но она действительно не работает в симуляторе.

@astralmaster У меня на iPhone установлена

Здорово, что это так быстро исправили. Кто-нибудь видел проблему с пользовательскими рендерерами, не работающими в 16.5.2 (а теперь и в 16.5.3, после того, как я обновился)? Они отлично работают, когда я использую 16.4.5 с чистыми папками bin / obj / полным перестроением / переустановкой между тестами.

@breenbob Если проблема не исчезнет, ​​откройте здесь новый выпуск. Звучит ново. Благодаря!

Ага, обновление работает!

Работает отлично, спасибо.

Спасибо команде Xamarin и команде Visual Studio за быструю смену решения. Вот почему я использую Xamarin в качестве кроссплатформенной среды разработки мобильных приложений.

Обновление работает. Спасибо Xamarin Team

Также могу подтвердить, что указанный выше репродуктор теперь работает, поэтому элементы управления ArcGISRuntime Map вернулись в рабочее состояние.

Последний по сравнению с 2019 16.5.3 установил xam ios 13.16.0.13, но не может протестировать, поскольку профили подготовки и сертификаты больше не принимаются от Mac и не указаны в выпадающих списках VS в Windows. Не было этой проблемы с предыдущей версией VS. У меня xcode 11.4.
Это задумано, и сейчас мы должны настроить все учетные записи Apple в Windows? У меня такое чувство, что он проверяет только учетные записи Apple в Windows и ничего не показывает, вместо того, чтобы синхронизировать их с Mac. В качестве временного решения создал учетную запись Apple в Windows.

ОБНОВЛЕНИЕ OMG, это задумано: https://developercommunity.visualstudio.com/comments/962872/view.html

Еще больше <Image> перестали показывать удаленные изображения на iOS с этим обновлением. Простая замена на ffimageloading <CachedImage> в качестве обходного пути ... Иногда я чувствую, что формы 3 и ниже, когда тратили больше времени на борьбу с ошибками фреймворка, чем на создание приложения .. Вздох

@taublast Думаю, это отдельная тема. У меня это было с обновлением 16.5.2, но это обновление работало нормально. Мне пришлось подготовить новые профили, чтобы он снова заработал.

@taublast это

Обновление работает. Спасибо Xamarin Team

TapGestureRecognizers теперь работают в моем приложении, как и ожидалось.

Моя установка:
Windows 10 Корпоративная 1909
Visual Studio 2019 Профессиональный 16.5.3
macOS Catalina 10.15.4
Xcode 11.4
Сообщество Visual Studio для Mac 8.5.2
Моно Фреймворк MDK 6.8.0.123
Xamarin.iOS 13.16.0.13
iOS (мое устройство) 13.4

столкнулся с той же проблемой с моей настройкой
Версия Mac OS: 10.15.4 (19E266)
Версия Visual Studio: VS 2019 Professional 8.5.1
Версия Xamarin.iOS: 13.16.0.11
Версия XCode: 11.4

И в обновлении исправлена ​​проблема

спасибо Xamarin Team за быстрое исправление

Может кто-нибудь помочь мне, пожалуйста, после обновления мой vs еще не работает!

Может кто-нибудь помочь мне, пожалуйста, после обновления мой vs еще не работает!

Удалите папки Obj / Bin, очистите, перестройте решение и попробуйте закрыть / открыть VS.

Что пробовали?

Может кто-нибудь помочь мне, пожалуйста, после обновления мой vs еще не работает!

Удалите папки Obj / Bin, очистите, перестройте решение и попробуйте закрыть / открыть VS.

Что пробовали?

теперь работает спасибо

Может кто-нибудь помочь мне, пожалуйста, после обновления мой vs еще не работает!

Удалите папки Obj / Bin, очистите, перестройте решение и попробуйте закрыть / открыть VS.
Что пробовали?

теперь работает спасибо

Для справки и для других, кто нашел эту ветку, что вы сделали, чтобы решить вашу проблему?

Удалите папки Obj / Bin, очистите, перестройте решение и попробуйте закрыть / открыть VS.

Я просто делаю то, что ты здесь говоришь, еще раз спасибо

Не работает на физическом устройстве. Странно, как некоторые жесты касания работают на ios, но не на всех. Все нормально работает на андроиде.

IOS 13.3 не работал при установке в xaml. Но в файле .cs вроде работает. Использование последних форм xamarin.

У меня не работает, теперь с iOS 13.5.

Я обновил визуальную студию до последних библиотек и теперь работает. ты

TapGestureRecognizer снова не работает на iOS 13.5.1. И я публикую это приложение в продакшене. :-(
Обновление VS до последней версии 8.6.5 (сборка 23) устраняет эту проблему.

У меня нет проблем с TapGesture на iOS 13.5.1

У меня проблемы с распознавателями жестов множественного касания в сетке на iOS 13.5

У меня есть распознаватель для 1 нажатия и второй распознаватель для 2 нажатий, оба на одной сетке.

На iOS срабатывает только распознаватель жестов с 1 касанием, а на Android срабатывают оба жеста для 1 касания и 2 касаний.

Это означает, что iOS запускает только первый жест с наименьшим количеством нажатий и игнорирует все остальные.

Ожидаемое поведение такое же, как на Android.
При однократном нажатии обработчик для 1 нажатия должен срабатывать, а при двойном нажатии обработчик для 2 нажатий должен срабатывать и т. Д.

Протестировано на XF 4.6 и 4.7 на Visual Studio Mac 8.6.5 (сборка 23) и Microsoft Visual Studio 2019 Ver. 16.6.3

Была ли эта страница полезной?
0 / 5 - 0 рейтинги