Índice
O que é .NET MAUI
O .NET MAUI (Multi-platform App UI) é o framework da Microsoft para desenvolvimento de apps cross-platform usando C# e .NET. É o sucessor oficial do Xamarin.Forms, integrado ao Visual Studio 2022+ e ao Visual Studio for Mac (descontinuado — agora usa VS Code com extensão).
Apps .NET MAUI geram binários nativos para iOS e Android — não é um WebView. O resultado é um .ipa para iOS e um .aab/.apk para Android, exatamente como um app nativo.
Atenção: O Visual Studio for Mac foi descontinuado em 2024. Para publicar apps MAUI para iOS, você precisa de um Mac com Visual Studio Code + extensão .NET MAUI, ou usar o Visual Studio 2022 no Windows com um Mac conectado como build host.
Pré-requisitos
- .NET 8 ou 9 instalado
- Visual Studio 2022 (Windows) com workload .NET MAUI ou VS Code com extensão
- Para iOS: Mac com Xcode como build host (mesmo que desenvolva no Windows)
- Conta Apple Developer ($99/ano) para App Store
- Conta Google Play ($25 taxa única) para Google Play
Publicar na App Store
1. Configurar o signing
No arquivo .csproj, configure as propriedades de signing para iOS:
<PropertyGroup Condition="'$(TargetFramework)' == 'net9.0-ios'">
<CodesignKey>Apple Distribution: Sua Empresa</CodesignKey>
<CodesignProvision>Nome do Provisioning Profile</CodesignProvision>
</PropertyGroup>
2. Gerar o build de distribuição
dotnet publish -f net9.0-ios -c Release
Isso gera um arquivo .ipa na pasta bin/Release/net9.0-ios/publish/.
3. Enviar ao App Store Connect
Use o app Transporter (Mac App Store, gratuito) para fazer o upload do .ipa, ou o Xcode Organizer se preferir a interface gráfica.
Publicar na Google Play
1. Criar a keystore (uma vez)
keytool -genkey -v -keystore meuapp.keystore -alias meuapp -keyalg RSA -keysize 2048 -validity 10000
2. Configurar a assinatura no projeto
No .csproj, referencie a keystore:
<PropertyGroup Condition="'$(TargetFramework)' == 'net9.0-android'">
<AndroidKeyStore>True</AndroidKeyStore>
<AndroidSigningKeyStore>meuapp.keystore</AndroidSigningKeyStore>
<AndroidSigningKeyAlias>meuapp</AndroidSigningKeyAlias>
<AndroidSigningKeyPass>$(KEYSTORE_PASS)</AndroidSigningKeyPass>
<AndroidSigningStorePass>$(KEYSTORE_PASS)</AndroidSigningStorePass>
</PropertyGroup>
3. Gerar o .aab de release
dotnet publish -f net9.0-android -c Release
O .aab estará em bin/Release/net9.0-android/publish/. Faça upload no Google Play Console.
Problemas comuns
Linker removendo código necessário
O linker do .NET MAUI pode remover código que é referenciado apenas via reflection. Se algo parar de funcionar no release, desative o linker parcialmente ou adicione anotações [Preserve].
Compatibilidade com iOS mínimo
O .NET MAUI 9 exige iOS 12 como mínimo. Verifique a versão mínima no .csproj e no App Store Connect.
Precisa publicar seu app .NET MAUI?
A AtlasTech tem experiência com Xamarin e MAUI. Cuidamos do build, signing e publicação completos.
Solicitar orçamento