[RESOLVIDO] Xamarin Forms - Erro com PushAsync

No capitulo 3, após executar a aplicação aparece a seguinte mensagem depois de clicar no primeiro botão:

PushAsync is not supported globally on iOS, please use a NavigationPage.

ou
PushAsync is not supported globally on Android, please use a NavigationPage.

Alguém sabe como resolver?

Olá Carlos
Isso é um erro de digitação em sua classe.
Por favor, baixe o projeto do github e compare com o seu ok?
Abraços

Olá, Everton.
Obrigado por responder.
Eu já baixei o projeto do seu repositório e está igual:

using System;
using Modulo1.Pages.Garcons;
using Xamarin.Forms;

namespace Modulo1.Pages
{
public class MenuPage : ContentPage
{
public MenuPage()
{
Title = “Menu de opções”;
Content = new StackLayout
{
//Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, 0),
VerticalOptions = LayoutOptions.Center,
Children = {
new Button() {
Text = “Garçons”,
Image = “icone_garcons.png”,
Command = new Command(() => Navigation.PushAsync(new GarconsPage()))
}
}
};
}
}
}

Mesmo assim o erro persiste.

Estou usando MacOS Sierra e Xamarin Studio.

Carlos, estou sem meu MAC agora, não tenho como ver. No Windows está tudo
certo. Assim que eu tiver acesso ao MAC eu verifico e te retorno, mas não
conseguirei ver isso antes de quinta, pois estou em viagem

Sem problemas!

Abraços!

Oi Carlos. Tive acesso a uma máquina Windows com Emulador em Android e
funcionou sem problemas meu projeto. Amanhã devo ter acesso a minha máquina
MAC para testar.
Abraços

Olá Carlos. Acabei de testar no MAC e funcionou sem problemas para mim
Tenta me disponibilizar seu projeto para que eu possa ver o que está
diferente
Abraços
Everton

2017-03-23 13:12 GMT-03:00 Everton Coimbra de Araújo <
evertoncoimbra@gmail.com>:

Olá, Everton.

Segue o projeto: https://github.com/tiagosantos/Xamarin-Forms-Casa-do-codigo

Obrigado pela atenção.

Oi Carlos, veja:

Achei os seguintes erros no projeto:
1 - O Projeto estava com alguns erros de References, dei um Clean seguido
de um Rebuild Solution para solucionar esses erros.

2 - Vocêrenomeou a classe App para Modulo1 e não fez as devidas alterações
na própria classe
Página Alterada:
public class Modulo1 : Application
{
public Modulo1()
{
// The root page of your application

MainPage = new NavigationPage(new MenuPage());
}

3 - MainPage = new Main…
Linha alterada:
MainPage = new NavigationPage(new MenuPage());

4 - Como você alterou o nome da classe App, você deve alterar as chamadas
nas classes principais dos outros projetos.
no Android a MainActivity sofreu algumas alterações.

Onde estava:
LoadApplication(new App());
Agora fica:
LoadApplication(new Modulo1());

Já no iOS a classe AppDelegate.cs sofreu a seguinte alteração:
Onde estava
LoadApplication(new App());
Agora fica:
LoadApplication(new Modulo1());

Olá, Everton.

Primeiramente gostaria de lhe parabenizar pelo livro, pois há pouco material de Xamarin em português.
No livro, capítulo 3, página 72 o código descrito da classe App está como:

public App()
{
MainPage = new MenuPage();
}

Quando deveria ser
public App()
{
MainPage = new NavigationPage(new MenuPage());
}

Conforme você respondeu acima. Fazendo isso o meu código funcionou sem problemas. Não lembrava desse detalhe e a mensagem de erro só faltou desenhar pra mim o que eu deveria ter feito :frowning: Só me toquei depois que vi a resposta aqui :stuck_out_tongue:

Oi Marcos. Obrigado pelo retorno e comentário.
Realmente,vi agora que não está certo no livro. Me desculpe
Bianca, você pode por favor me enviar o arquivo o capítulo 3 do Xamarin
para eu acertar e te devolver para postar a errata?
Abração e tudo de bom
Everton

2017-03-28 12:49 GMT-03:00 Marcos Fernando Simon <
casadocodigo@discoursemail.com>:

Bom dia…Estou com esse mesmo erro… mas implemento em meu Windows 10 com Visual Studio, pois meu MacBook ainda não chegou…
Teria diferença na implementação do código em relação a diferença de ambiente?

Olá João. Foi publicada uma errata em relação a este problema. Tenta
localizar ela lá no site da CC ok?
Abraços

2017-04-15 11:45 GMT-03:00 João Paulo Medina Passos <
casadocodigo@discoursemail.com>:

as erratas se encontro em tópicos do fórum?

OLá Vivian, tudo bem? Como o leitor pode ter acesso à errata que já foi
encaminhada?
Abraços

2017-04-17 11:52 GMT-03:00 João Paulo Medina Passos <
casadocodigo@discoursemail.com>:

Oi João, veja a resposta da editora:

"Oi Everton,

o leitor que comprou o ebook pode sempre fazer download da versão mais
atual na biblioteca online dele.
Quando atualizamos o livro, colocamos uma mensagem da errata, do que foi
atualizado. É lá que ele deve encontrar,

abraços"

2017-04-17 11:52 GMT-03:00 João Paulo Medina Passos <
casadocodigo@discoursemail.com>:

Me desculpa tantas perguntas,
Mas quem comprou o livro impresso como eu, como terei acesso a essa correção(errata)?

Oi João, vou te mandar a página corrigida, mas me diga por favor qual
página do livro impresso aparece o erro para você.
Abraços

2017-04-17 17:20 GMT-03:00 João Paulo Medina Passos <
casadocodigo@discoursemail.com>:

Boa tarde a todos. Everton, obrigado pela resposta. Realmente resolveu. Acho que me confundi com algumas coisas e acabei fazendo besteira. Vou continuar avançando com o livro. Parabéns pelo conteúdo e obrigado pelo suporte.

Na verdade ficaria grato em saber tudo que foi corrigido, principalmente no código para que quando prosseguir obtenha sucesso na minha implementação… E exatamente meu erro pode ser diferente pois implemento no Visual Studio e não no Xamarin.

Ex: com este código MainPage = new NavigationPage(new MenuPage()); minha aplicação não abre.
Tenho que colocar MainPage = new MenuPage();