Xamarin.forms: [Bug] [iOS] GestureRecognizers não funcionam no iOS 13.4

Criado em 1 abr. 2020  ·  124Comentários  ·  Fonte: xamarin/Xamarin.Forms

ATUALIZAÇÃO IMPORTANTE SOBRE ESTE PROBLEMA. POR FAVOR, LEIA ANTES DE COMENTAR

⚠️ Atualize para a versão estável mais recente no Visual Studio para Mac (v8.5.2) e Windows (v16.5.3), lançamos a atualização que inclui a correção. Mais uma vez obrigado pela sua paciência.


Descrição

Depois de atualizar para o xcode 11.4 e iOS 13.4, GestureRecognizers (TapGestureRecognizer) pararam de funcionar no iOS. O Android funciona conforme o esperado.

Passos para reproduzir

  1. Crie um aplicativo móvel Xamarin Forms
  2. Adicionar um rótulo com TapGestureRecognizer
  3. Tente invocar TapGestureRecognizer

Comportamento esperado

TapGestureRecognizer é invocado

Comportamento Real

TapGestureRecognizer não é invocado

Informação básica

Ao atualizar o MacOS para a configuração abaixo, TapGestureRecognizer para de funcionar na plataforma iOS.

Configuração

Mac Catalina 10.15.4
VS2019 16.5.2
Pacote Xamarin VS 13.6.0.11
Xamarin.Forms 4.5.0.495

Link de reprodução

Ligação

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

Comentários muito úteis

Apenas um pequeno pedido para os caras do Xamarin. Pare de adicionar novos recursos sofisticados de que ninguém precisa, faça mais testes e resolva alguns dos milhares de problemas que existem. Ah, e, por favor, comunique a mesma mensagem à equipe do VS, pois esses caras parecem fazer ainda menos testes do que você :-(

Todos 124 comentários

Isso pode estar associado ao problema que estou vendo com as seleções em CollectionView

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

Isso é crítico. Acho que não devo me precipitar em atualizar meu Mac para a versão mais recente. Mas agora estou preso e não consigo liberar meu aplicativo porque os reconhecedores de gestos não estão funcionando.
Esperançosamente, uma correção será lançada em breve.

SIM. Este é um erro crítico que não deveria ter passado nos testes de detecção de IU. Todos os meus reconhecedores de gestos no iOS estão corrompidos, em vários projetos.

Eu também estou usando
Mac Catalina 10.15.4
VS2019 16.5.2
Pacote Xamarin VS 13.6.0.11
Xamarin.Forms 4.5.0.495
Xcode 11.4

Pode ser devido a este novo método de delegado em UIKit.UIGestureRecognizerDelegate :

gestureRecognizer:shouldReceiveEvent:

Aparece relacionado a https://github.com/xamarin/xamarin-macios/issues/8255 e @dalexsoto o está executando lá.

Muito fácil de reproduzir: basta criar um novo Detalhe Mestre a partir do modelo e executar o aplicativo iOS.
Nenhum dos itens na página principal pode navegar pelos detalhes do item devido ao comportamento do reconhecedor de toque quebrado.

@InquisitorJax - Parece que o problema já foi encontrado e corrigido - bem, pelo menos em macios

A correção está no PR, assim que recebermos um pacote iremos validar. Acreditamos que temos esse otário preso.

@chamons, isso é uma ótima notícia - como é o lançamento eta - eu imagino que muitas pessoas que fizeram upgrade agora estão morrendo de

Eu literalmente perdi muito tempo com a atualização do Mac OS e o Visual Studio não sincronizando e agora no dia anterior lidando com isso pensando que era o meu código. Muito frustrado com Xamarin agora ... Estou apenas desabafando. Desculpa!

Em um dispositivo físico com sistema operacional 13.3 parece funcionar corretamente, no simulador com a versão 13.4 ele falha ...

Eu também estou morto na água esperando por essa correção. Sabemos um HEC de quando a correção será enviada?

Não tenho uma data para compartilhar, mas você pode ter algumas opções se estiver no macOS.

  • Fazendo downgrade para a versão estável anterior (https://download.visualstudio.microsoft.com/download/pr/8f94ca38-039a-4c9f-a51a-a6cb33c76a8c/21e09d8084eb7c15eaa07c970e0eccdc/xamarin.ios-13.14.1.39.pkg)
  • Teremos um Xamarin.iOS com a correção de nossa máquina de construção em algumas horas para que você possa instalar. Vou postar aqui assim que estiver concluído.

@chamons quando você disser uma correção, será uma pré-versão nuget 4.6.x? Apenas tentando entender o que procurar.

A correção estará em um novo SDK Xamarin.iOS em si, não em um nuget Xamarin.Forms. Há uma interação entre uma API iOS recém-ligada e Xamarin.Forms que está causando o problema em questão.

Isso é parte do motivo pelo qual reverter para pacotes iOS mais antigos irá "consertar" isso, como observei aqui .

A reversão não funcionaria se você estiver desenvolvendo no Visual Studio Windows e usando o agente de emparelhamento para Mac. Recebo a reclamação de que há uma incompatibilidade do Xamarin.iOS e o agente de emparelhamento atualizará o Xamarin.iOS.

image

Atualização: estou descobrindo que consigo executar o projeto diretamente no Mac, mas não no Windows com o agente de emparelhamento.

Eu consegui contornar isso instalando o VS 16.6 Preview 2 - o aplicativo parece funcionar bem com a instalação alternativa do X.iOS usada lá - não tenho certeza se quero confiar em uma versão de pré-visualização embora.
Boa sorte para os desenvolvedores - espero que a correção acabe logo;)

Como outra pessoa mencionou, baixe os simuladores 13.3. O 13.3 sims é um download de 3 GB e é muito mais rápido do que tentar reverter o VS.

@lhughey a reversão não é do VS, é do SDK do framework Xamari.iOS na máquina Mac - é muito mais rápido fazer isso do que baixar sims em 3GB :-)

Vejo que este tíquete já está fechado. Como / onde faço o download da atualização do SDK do Xamarin.iOS ???

  • Teremos um Xamarin.iOS com a correção de nossa máquina de construção em algumas horas para que você possa instalar. Vou postar aqui assim que estiver concluído.

@chamons - A construção parece que já está completa há algumas horas. Alguma hora prevista para a data de publicação? Observe que, como estou em uma máquina Windows em desenvolvimento, voltar para a versão anterior não é uma opção. E tenho um prazo para concluir este projeto pela manhã. Até você publicar o SDK atualizado, estou paralisado. Esta foi uma grande quebra de funcionalidade e eu realmente preciso da correção postada cerca de 6 horas atrás. Forneça uma atualização o mais rápido possível.

@mikeluken, você não deve ficar parado, se estiver desenvolvendo para iOS, precisará de um Macbook para emparelhar independentemente. Você ainda pode codificar no Windows e apenas testá-lo usando seu Mac, você só precisaria de uma versão mais antiga do pacote Xamarin.iOS instalado conforme mencionado acima. No que diz respeito ao lançamento para dispositivos, não deve ser um problema, pois funciona bem em dispositivos. Se você realmente deseja emparelhar e testar, sua outra opção é usar os simuladores iOS 13.3.

Olá @mikeluken , o problema foi Notarized a partir das verificações de status do commit do GitHub de qualquer um de nossos branches (veja abaixo imagem para um exemplo), este em particular vive dentro de nossa filial chamada d16-5-xcode11.4

image

Os pacotes foram criados há alguns minutos e para sua comodidade colei os links abaixo:

Você pode testar os pacotes acima e nos informar se encontrar mais problemas, sobre a disponibilidade por meio dos atualizadores do VS que deve chegar em breve.

Se você deseja continuar desenvolvendo sem instalar os pacotes acima, baixar versões anteriores do Simulador conforme afirmado por @rezamohamed é uma ótima solução.

@dalexsoto, o problema com os pacotes mais recentes é que você ainda não pode usar uma máquina Windows para emparelhar com esse Mac por causa do problema de incompatibilidade entre Mac e Windows do Xamarin, certo? Mesmo descendo uma versão torna o emparelhamento o problema, por isso precisa ser uma atualização coordenada para VS Win e Mac.

@dalexsoto, o problema com os pacotes mais recentes é que você ainda não pode usar uma máquina Windows para emparelhar com esse Mac por causa do problema de incompatibilidade entre Mac e Windows do Xamarin, certo? Mesmo descendo uma versão torna o emparelhamento o problema, por isso precisa ser uma atualização coordenada para VS Win e Mac.

apenas cancele quando o VS pedir um "upgrade" (neste caso será um downgrade), você receberá um aviso sobre "problemas de instalação", ele se conectará mesmo assim.

image

@dalexsoto - Como / onde instalo os arquivos .pkg? Eu conheço no Visual Studio no PC. Mas não tenho certeza de como fazer referência ao arquivo baixado ...

@mikeluken você deve conseguir instalar esses arquivos pkg em seu host de compilação mac clicando duas vezes no arquivo pkg e seguir as instruções de instalação

Oi, mesmo depois de instalar esses dois arquivos pgk no meu Mac, o problema ainda existe.

O VS no Windows está me avisando que as versões não são compatíveis e devo atualizar. Se eu pressionar Cancelar, ele ainda se conecta. Tudo bem. Mas se eu publicar o aplicativo no meu dispositivo físico, nenhum dos GestureRecognizers funcionará.

VS 16.5.2
iPhone Xs 13,4
MacOS: 10.15.4
xamarin.mac 6.16.0.13
xamarin.ios 13.16.013

Com todo o respeito, este deve ser o pior projeto de software gerenciado de todos os tempos. Você faz roteiristas do colégio parecerem bem. Como diabos essas coisas passam por testes e entram no canal estável? Encontrei pelo menos 10 bugs críticos, óbvios e totalmente evitáveis ​​com o Xamarin.Forms, e ele está ficando muito antigo.

Obrigado @chamons pelo link do pacote. Isso parece reverter o dano temporariamente.

Vou reabrir até que seja publicado para visibilidade.

Então, quando teremos a atualização? Ou eu perdi alguma coisa?

Eu tenho o mesmo problema. Estou morto na água.

Passei várias horas descobrindo por que meu aplicativo não funciona no iOS ... :(

Posso confirmar que este pacote de atualização do SDK funciona, mesmo ao usar o VS no Windows. Obrigado à equipe Xamarin por priorizar isso e resolver o problema rapidamente.

Posso confirmar que este pacote de atualização do SDK funciona, mesmo ao usar o VS no Windows. Obrigado à equipe Xamarin por priorizar isso e resolver o problema rapidamente.

@EvanMulawski O que você instalou (forneça um link, se possível, que seria muito apreciado por quem procura no Google)

@ianvink O pacote Xamarin.iOS SDK com link em

No VS, ignore o aviso do SDK incompatível e ele se conectará de qualquer maneira.

Também pode confirmar. Funcionando bem no Mac

@ianthetechie , tenho que concordar. Tenho quase certeza de que falo por um grande volume da comunidade de Formulários Xamarin quando digo que todos preferiríamos que vocês se concentrassem em um projeto estável que acertou o básico, em vez de se preocupar com não recursos como CSS para XAML. Vamos, esse tipo de coisa é simplesmente horrível. E por que 2 semanas?

Eu consegui executar e construir. Mas agora, quando tento criar um Bundle, o VS2019 no Windows não consegue encontrar meu perfil de provisionamento
Alguma ideia?

@ndastur São duas semanas porque eles vão realmente testá-lo, e vai levar muito tempo para descobrir como testar algo de uma vez ...

Com relação ao perfil de provisionamento mencionado acima, acho que o problema é que, na lista suspensa Identidade de assinatura, eu tinha anteriormente uma opção de distribuição do iPhone. Essa opção não está mais disponível.

Com relação ao perfil de provisionamento mencionado acima, acho que o problema é que, na lista suspensa Identidade de assinatura, eu tinha anteriormente uma opção de distribuição do iPhone. Essa opção não está mais disponível.

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

@thedee.
Obrigado por esse link. Acho que isso pode ter funcionado.
Ainda não é o que eu tinha antes. A lista suspensa Identidade de assinatura fornece apenas Distribuição (Automática), mas a Lista de Provisão é exibida.
Portanto, posso construir e arquivar, mas quando tento distribuir (App Store), a lista suspensa Identidade de assinatura na caixa de diálogo Distribuir está vazia. Portanto, não posso ir a lugar nenhum de lá.

A atualização inicial que quebrou os gestos foi retirada? Eu uso o Bitrise para construir e implantar, eles atualizam a cada fim de semana para a versão estável mais recente e querem ter certeza de que não vai quebrar.

Eu sei que isso não está diretamente relacionado ao problema. Mas finalmente tenho o aplicativo funcionando, mas não consigo ver nenhuma identidade de assinatura (além de automática) na caixa de diálogo Assinatura de pacote.
Eu criei um Perfil de Provisionamento no Portal do Desenvolvedor e posso vê-lo na conta da Apple no VS2019 no Windows. Mas não há associação entre o perfil de provisionamento e uma identidade de assinatura.

ESTÁ BEM.
Não estava anotando, mas acredito que o que consertamos foi ... Exportei o certificado associado ao Perfil e salvei no meu PC com Windows. Então no VS2020 de Tools .. Option .. Xamarin .. Apple Account, importei esse cert.
Agora posso ver uma identidade de assinatura com o perfil de provisionamento associado.

FWIW, estou usando o Xamarin para criar um aplicativo que roda em Windows, Android e iOS.
A Apple é de longe a maior dor de cabeça para implantar.
Para as outras plataformas, Arquivamento e Assinatura e praticamente automático.

Apenas um pequeno pedido para os caras do Xamarin. Pare de adicionar novos recursos sofisticados de que ninguém precisa, faça mais testes e resolva alguns dos milhares de problemas que existem. Ah, e, por favor, comunique a mesma mensagem à equipe do VS, pois esses caras parecem fazer ainda menos testes do que você :-(

Obrigado por trabalhar nisso.

Obrigado por trabalhar neste problema! Realmente aprecio isso! 💪

Acho que aqueles de nós que pagam taxas de assinatura significativas para a Microsoft se sentem menos inclinados a agradecer por algo que uma empresa que ganha bilhões de dólares deveria ser capaz de testar e ter alguma governança. As pequenas empresas realmente sofrem quando não conseguem lançar atualizações por duas semanas porque uma parte fundamental de uma estrutura falha e foi lançada como pronta para produção.

Também notei que não há nenhuma lista de testes de IU do iOS (apenas Android / UWP) no README. É porque, como todos nós, a Microsoft não consegue fazer o teste de IU do iOS adequado para funcionar nos Formulários Xamarin?

Também é um pouco engraçado e irônico que a única solução que existe não funcione no Windows apenas no Mac.

Bem, isso é enorme, acho que há toneladas de pessoas gritando para seus monitores tentando encontrar o que quebrou seu aplicativo :)
Dado que tenho quase certeza de que precisaremos esperar pelo menos 2 semanas pela próxima atualização do VS, talvez você deva aumentar a visibilidade dos arquivos .pkg corrigidos em algum lugar ... Não sei, uma postagem de blog em seu site, um newsletter ... basta postar o link em algum lugar e não deixá-lo enterrado nos comentários desta edição ....

Espero estar errado (em relação às 2 semanas) porque este problema é muito grande para esperar 2 semanas para obter a correção enviada no estúdio visual ... quero dizer ... vamos lá ...

Tive isso ontem e resolvi fazer o downgrade do xamarin.iOS.Framework para a versão 13.14.1.39 que você pode encontrar em https://aka.ms/xvs/pkg/macios/13.14.1.39

Remova o framework atual de / Library / Frameworks e instale este pacote

Estou usando os controles Syncfusion e meus ListViews também não respondem mais aos eventos Tap e DoubleTap. No entanto, se eu alterar a propriedade SelectionGesture para o valor "Hold" e vincular o ListView a um evento ItemHolding, funcionará bem. Todo mundo está experimentando isso?

Para qualquer pessoa executando compilações de CI, https://github.com/jonathanpeppers/boots é uma ótima maneira de instalar pacotes iOS específicos (como o fixo). Você pode usar azure pipeline, dotnet ou cake para instalar qualquer pacote de que precisar.

Olá a todos,
pode instalar este pacote no windows usando botas? Eu tentei fazer
botas https://aka.ms/xvs/pkg/macios/13.14.1.39

e recebo um erro "o arquivo não é um pacote VSIX válido".
Ou essa correção é apenas para mac?
obrigado

A correção é principalmente se você tiver um processo de CI que precisa preparar compilações para a loja de aplicativos. Como você só pode usar um mac para preparar essas compilações, será útil poder atualizar os pacotes em seu CI.

Se você estiver usando o mac bridge, apenas instalar o pacote no seu mac e, em seguida, descartar a caixa de diálogo do bridge deve ser o suficiente para começar localmente

Eu instalei esses pacotes, mas espero que eles não causem mais problemas para atualizações futuras.

@PureWeen obrigado por sua resposta. Desde que consigamos a correção oficial na próxima 1 semana / 10 dias, ficarei bem aguardando e não alterarei o pipeline.

Para depuração utilizo um Mac mini para rodar os simuladores, se meu entendimento estiver correto, preciso instalar o pacote no mac mini ou aguardar a correção. Corrigir?

obrigado

@amirvenus você ficará bem. Assim que o pacote fizer parte da próxima implementação do VSMAC, ele simplesmente será instalado sobre ele.

@ developer9969

Para depuração utilizo um Mac mini para rodar os simuladores, se meu entendimento estiver correto, preciso instalar o pacote no mac mini ou aguardar a correção. Corrigir?

Corrigir. Se você instalá-lo no mac mini, você deve estar pronto para ir

A correção foi lançada no canal de visualização? @samhouts @PureWeen

A correção foi lançada no canal de visualização? @samhouts @PureWeen

Tentei o prerelase 4.6.0.529-pre3 e ainda não funciona :(

@mostafasany esta correção faz parte dos sdks do Xamarin.iOS, não dos sdks do Xamarin.Forms

@ pmahend1 o bug não se manifesta na visualização, mas tenho certeza de que é porque a visualização não foi atualizada para o xcode 11.4 bits, então o problema não acontece lá.

A remoção da estratégia de cache parece funcionar para eventos ListViews para ItemTapped. Os reconhecedores de gestos ainda não funcionam com certeza.

Então, esse problema foi corrigido? E a atualização foi lançada?

@dalexsoto porque foi reaberto? alguém encontrou outro problema? apenas perguntando para que se eu encontrar algo que eu saiba estar ciente. obrigado

@rezamohamed Não, um push to origin no meu fork de alguma forma fechou isso por engano, o problema foi mantido aberto para visibilidade e o problema foi corrigido. A correção está chegando o mais rápido possível na nova versão do VIsual Studio para Mac e Windows. Assim que a correção for lançada, encerraremos este problema.

Observação: se você acabou de chegar aqui, consulte a descrição do problema para obter instruções para mitigar

@dalexsoto um pouco fora do assunto, mas vocês estão cientes dos problemas de incompatibilidade de versão que às vezes acontecem entre VSwin e VSmac, mesmo em canais estáveis? https://forums.xamarin.com/discussion/comment/406654

@dalexsoto sim. Eu havia relatado isso na comunidade de desenvolvedores em dezembro. Eles fecharam dizendo que seria assim até o início de 2020, mas parece que ainda não há conserto. Não costumava acontecer quando eu alternar a visualização no Mac.

@dalexsoto O ASAP significa que o próximo lançamento do VS estará atrasado em relação à data planejada por causa desse bug crítico? ou será na data definida, que pode ser até 2 semanas, pois 16.5.2 pousou há poucos dias?

Eu enfrentei o mesmo problema após a atualização do Visual Studio para Mac e do Xcode :(

Tudo, incluindo meus controles de medidor Syncfusion funciona com a versão de visualização atual.

Para mim, é pinch-zoom e drag que parou de funcionar. Tap funciona.

Aparentemente, se eu construir um aplicativo com a versão mais recente do VS ou VS4Mac e implantar em um dispositivo iOS 13.4, nossos gestos de arrastar e pinçar param de funcionar.
Aplicativos criados com versões anteriores não são afetados. Podemos reproduzir com simulador e dispositivo.
Até implantei um aplicativo em um dispositivo 13.3, verifiquei se funcionava, atualizei o dispositivo e o aplicativo parou de responder a esses gestos.
No entanto, os aplicativos desenvolvidos há meses com ferramentas anteriores ainda funcionam. E aplicativos implantados em dispositivos 13.3 ou mais antigos, mas com as ferramentas mais recentes, também funcionam.
Isso para mim indica que é um problema de ferramentas + sistema operacional.

Para reproduzir, crie um aplicativo iOS ou Forms com o seguinte modelo de projeto:
https://marketplace.visualstudio.com/items?itemName=Esri.ArcGISRuntimeTemplates
Implante em um dispositivo ou simulador 13.3 e observe os trabalhos de pinch-zoom e pan.
Atualize o dispositivo para 13.4 ou implante para um dispositivo 13.4 e observe que o zoom e a panorâmica não funcionam (toque duplo para aplicar zoom e girar com dois dedos, entretanto, funcionam).
Repita com uma versão mais antiga do VS (ou xcode?), E os gestos também funcionam.

Usamos o UIPinchGestureRecognizer e UIPanGestureRecognizer para esta funcionalidade. Todos os reconhecedores de funcionamento (ou seja, UIRotationGestureRecognizer & UITapGestureRecognizer) são todos declarados essencialmente da mesma maneira que os que não funcionam.

O problema não é específico do Formulários para nós.

Depois de instalar os pacotes iOS e Mac conforme mencionado aqui , o evento listview click funciona novamente. Então, obrigado por isso! Outro problema que tenho é que a fonte da imagem não está mais exibindo a imagem. Os 2 pacotes também não corrigiram este problema de imagem.

Quando eu faço isso:
<Image Source="url here" />

@ hoa-ho esse problema foi corrigido no XF 4.5

@PureWeen Eu atualizei VS e XF para as versões mais recentes e não está funcionando

@ hoa-ho crie um novo problema com uma reprodução, por favor

Ainda reproduzível na seguinte configuração (últimas versões estáveis):

Mac OS X 10.15.4 macOS Catalina

Comunidade do Visual Studio 2019 para Mac
Versão 8.5.1 (build 42)
Xamarin.iOS
Versão: 13.16.0.11

XCode versão 11.4 (11E146)
iOS Simulator OS: 13,4

Versão XF 4.5.0.530

Qual é o ETA aproximado para corrigir esse problema?

Ainda reproduzível na seguinte configuração (últimas versões estáveis):

Mac OS X 10.15.4 macOS Catalina

Comunidade do Visual Studio 2019 para Mac
Versão 8.5.1 (build 42)
Xamarin.iOS
Versão: 13.16.0.11

XCode versão 11.4 (11E146)
iOS Simulator OS: 13,4

Versão XF 4.5.0.530

Qual é o ETA aproximado para corrigir esse problema?

O mesmo aqui também!

Se você leu os comentários, uma correção ainda não foi lançada para o stable. Mas você pode baixar a compilação que contém a correção, se precisar imediatamente

Atualizar para a versão mais recente (visualização) resolveu o problema.
https://docs.microsoft.com/en-us/visualstudio/mac/install-preview?view=vsmac-2019

Qualquer solução para VS para Windows (estável 16.5.2 ou visualização 16.6.0 2.1) ou Mac (estável apenas) com XCode 11.4?

Como diabos isso passou por testes de interface do usuário antes de ser lançado ...

@astralmaster pelo que posso ver no README não há nenhum teste de IU para iOS.
Acho que esse bug deve ser um momento de definição para o Xamarin Forms. Tenho certeza de que a comunidade dev deseja um produto testado e estável em vez de não-recursos como CSS para XAML. Ou Shell. Olhe para Flutter. Ainda não há geração de IU ainda grande absorção porque coisas como recarregamento a quente realmente funcionam e funcionam bem. O ciclo de desenvolvimento interno com os Formulários Xamarin é terrivelmente longo.
Se eu não oferecesse suporte a um aplicativo criado anteriormente no XF, não tenho certeza se iniciaria um projeto com o XF agora.

Segue...

Atualizar para a versão mais recente (visualização) resolveu o problema.
https://docs.microsoft.com/en-us/visualstudio/mac/install-preview?view=vsmac-2019

Posso ver no seu link, você vinculou o Mac VS Preview, mas acabei de tentar isso no Windows Preview 16.6.0.2.1 e não vejo nenhuma alteração / correção em meus controles de exibição de lista, sendo capaz de selecionar um item.

Você testou isso apenas no Mac?

FYI, o TapGestureRecognizer não funciona no simulador iOS no Windows ou no Mac. Ele funciona em um dispositivo físico.

Isso me diz que existe uma discrepância na configuração entre o simulador e um dispositivo real. Se você pode mover qualquer comando para outro controle, agora é o momento até que eles resolvam o problema. Por exemplo, eu tinha reconhecedores de gestos em uma CollectionView, mas chamei minha lógica em vez de SelectionChangedCommand. No entanto, ainda tenho um CarouselView que não oferece suporte a SelectionChangedCommand, então estou preso em usar um reconhecedor de gestos em um controle Grid. Testei no simulador. Não funciona. Eu testei em um dispositivo real. Funciona.

Alguém em algum lugar da equipe Xamarin deixou cair a bola ao testar recursos de trabalho anteriores na estrutura de Formulários Xamarin em uma nova versão do iOS e Xcode. Corrija logo porque estou no processo de lançamento de um aplicativo.

@SunnyMukherjee também não funciona para mim no dispositivo físico. Eu carreguei minha construção para TestFlight e não faz nada na torneira.

@SunnyMukherjee Qual versão do iOS está instalada em seu dispositivo físico? Funciona no meu iPhone 11 com iOS 13.0, mas o bug foi arquivado para o 13.4. Não consigo testar esta versão do iOS em um dispositivo físico, mas realmente falha no simulador.

Fwiw, este é um problema de xcode mais do que iOS 13.4.
Ou seja, se eu compilar meu aplicativo com xcode 11.3.1, o problema desaparece (ad-hoc ou TestFlight), mesmo para dispositivos que executam iOS 13.4

Sim, tenho o mesmo problema com um projeto para minha empresa. Após atualizar o VS no meu MackBook, esta linha simples não está mais funcionando no iOS:

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

Eu testo isso no emulador de iOS, mas o evento não é invocado. O Android funciona muito bem.

Estou a usar:
-Mackbook Pro Catalina 10.15.4

  • Visual Studio 8.5.1-Community para Mac
    -Xamarin.Essentials 1.5.2
    -Xamarin.Forms 4.5.0.530

Confirmar que a versão de visualização mais recente do Visual Studio para Windows corrige o problema do Simulador.

@astralmaster Baixar o mais novo Visual Studio 2019 para windows (16.6.0 Preview 2.1) também funciona para mim.

Uma nova versão do Visual Studio foi enviada agora, as notas de versão não mencionam esse problema
https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes#16.5.3
Portanto, o SDK do Xamarin.iOS será enviado separadamente?

Olá amigos 👋

Atualize para a versão estável mais recente no Visual Studio para Mac (v8.5.2) e Windows (v16.5.3), lançamos a atualização que inclui a correção. Agradecemos novamente por sua paciência e por testar nossas construções candidatas.

As notas da versão ainda não foram atualizadas, mas o Xamarin.iOS 13.16.0.13 está sendo incluído nesta versão.

Apesar dos desenvolvedores que gostam de vir aqui reclamar e jogar suas fezes comentários sobre perseguir a equipe Xamarin e suas construções, eu, por exemplo, aprecio o fato de que quando eles encontram um problema em seu código, eles são rápidos em responder. Obrigado Sam e equipe pela solução rápida.

O pacote mono também deve ser atualizado?
image

Peguei a versão sugerida e funcionou. Vá em frente.

Bom trabalho, pessoal. Obrigado pela resposta rápida.

@SunnyMukherjee Qual versão do iOS está instalada em seu dispositivo físico? Funciona no meu iPhone 11 com iOS 13.0, mas o bug foi arquivado para o 13.4. Não consigo testar esta versão do iOS em um dispositivo físico, mas realmente falha no simulador.

@astralmaster Eu tenho 13.4 instalado no meu iPhone. Eu testei usando 13,4 no simulador também. Não funciona no simulador, mas funciona no telefone. Vou atualizar para a versão mais recente do VS e do Xcode hoje à noite e ver se isso corrige o problema como outros sugeriram. Também irei atualizar para 13.4.1 no meu telefone, uma vez que foi lançado hoje.

Ótimo que isso foi corrigido tão rápido. Alguém viu um problema com os renderizadores personalizados que não funcionam no 16.5.2 (e agora também no 16.5.3 agora que atualizei)? Eles funcionam bem quando eu uso o 16.4.5 com uma pasta bin / obj limpa / reconstrução completa / reinstalação entre os testes.

@breenbob Se o problema persistir, abra um novo problema aqui. Isso soa novo. Obrigado!

Sim, a atualização funciona!

Funcionando perfeitamente, obrigado.

Obrigado à equipe Xamarin e à equipe do Visual Studio pela resposta rápida. É por isso que uso o Xamarin como minha estrutura de desenvolvimento móvel de plataforma cruzada.

A atualização funciona. Obrigado Equipe Xamarin

Também pode confirmar se o reprodutor que listei acima agora funciona, então os controles do ArcGISRuntime Map estão de volta ao funcionamento

Lastest vs 2019 16.5.3 instalado xam ios 13.16.0.13, mas não pode testar, pois os perfis de provisionamento e os certificados não são mais recebidos do mac e não estão listados nos menus suspensos do VS no Windows. Não teve esse problema com a versão anterior do VS. Eu tenho o xcode 11.4.
É por design e temos que configurar todas as contas da apple no Windows agora? Tenho a sensação de que ele verifica apenas contas da apple no Windows e não mostra nada em vez de sincronizá-las do mac. Criou uma conta da apple no Windows como uma solução alternativa.

OMG UPDATE, isso ocorre por design: https://developercommunity.visualstudio.com/comments/962872/view.html

Ainda mais <Image> parou de mostrar imagens remotas no iOS com esta atualização. Parvas substituindo com ffimageloading <CachedImage> como uma solução alternativa .. eu sinto às vezes de formas 3 e abaixo quando estava gastando mais tempo erros de enquadramento de combate do que criar um aplicativo .. Suspiro

@taublast Acho que é um problema separado. Eu tive isso com a atualização 16.5.2, mas esta atualização funcionou bem. Tive de provisionar novos perfis para fazê-lo funcionar novamente.

@taublast isso acontece muito comigo. E eu tenho que reiniciar o Visual Studio / Mac / Windows / reinstalar os perfis de provisionamento .., para recuperá-los no Visual Studio. Às vezes não, e eu tenho que construir no Mac.

A atualização funciona. Obrigado Equipe Xamarin

TapGestureRecognizers estão funcionando em meu aplicativo conforme o esperado.

Minha configuração:
Windows 10 Enterprise 1909
Visual Studio 2019 Professional 16.5.3
macOS Catalina 10.15.4
Xcode 11.4
Comunidade do Visual Studio para Mac 8.5.2
Mono Framework MDK 6.8.0.123
Xamarin.iOS 13.16.0.13
iOS (meu dispositivo) 13,4

enfrentando o mesmo problema com minha configuração
Versão do Mac OS: 10.15.4 (19E266)
Versão do Visual Studio: VS 2019 Professional 8.5.1
Versão do Xamarin.iOS: 13.16.0.11
Versão XCode: 11.4

E a atualização corrigiu o problema

obrigado Equipe Xamarin pela solução rápida

Alguém pode me ajudar por favor, depois da atualização do meu vs, ainda não funciona!

Alguém pode me ajudar por favor, depois da atualização do meu vs, ainda não funciona!

Exclua pastas Obj / Bin, limpe, reconstrua a solução e tente fechar / abrir o VS.

O que você tentou?

Alguém pode me ajudar por favor, depois da atualização do meu vs, ainda não funciona!

Exclua pastas Obj / Bin, limpe, reconstrua a solução e tente fechar / abrir o VS.

O que você tentou?

funciona agora obrigado

Alguém pode me ajudar por favor, depois da atualização do meu vs, ainda não funciona!

Exclua pastas Obj / Bin, limpe, reconstrua a solução e tente fechar / abrir o VS.
O que você tentou?

funciona agora obrigado

Para referência e para outras pessoas que encontrarem este tópico, o que você fez para resolver o seu problema?

Exclua pastas Obj / Bin, limpe, reconstrua a solução e tente fechar / abrir o VS.

Eu só faço o que você diz aqui, obrigado novamente

Não funciona no dispositivo físico. Estranho como alguns gestos de toque funcionam no iOS, mas não todos. Todos funcionam bem no Android.

Ios 13.3 não estava funcionando quando definido no xaml. Mas no arquivo .cs parece estar funcionando. Usando os mais recentes formulários xamarin.

Não funciona para mim, agora com iOS 13.5.

Eu atualizei o Visual Studio para as bibliotecas mais recentes e agora funciona. ty

TapGestureRecognizer não funciona no iOS 13.5.1 novamente. E eu publico este aplicativo para produção. :-(
Atualizar o VS para a versão 8.6.5 (build 23) mais recente corrige esse problema.

Não estou tendo problemas com TapGesture no iOS 13.5.1

Estou tendo problemas com vários reconhecedores de gestos de toque em uma grade no iOS 13.5

Tenho um reconhecedor para 1 toque e um segundo reconhecedor para 2 torneiras, ambos na mesma grade.

Apenas o reconhecedor de gestos com 1 toque dispara no iOS, enquanto os gestos para 1 toque e 2 toques disparam no Android.

Isso significa que o iOS dispara apenas o primeiro gesto com o menor número de toques e ignora todos os outros.

O comportamento esperado é o mesmo do Android.
Quando batido uma vez, o manipulador para 1 torneira deve disparar e quando batido duas vezes, o manipulador para 2 torneiras deve disparar etc.

Testado em XF 4.6 e 4.7 no Visual studio Mac 8.6.5 (build 23) e Microsoft Visual Studio 2019 Ver. 16.6.3

Esta página foi útil?
0 / 5 - 0 avaliações