Repository navigation
Conversation
Sem uma assinatura do Apple Developer Program não existe caminho de distribuição para iOS: não há TestFlight nem App Store, e um build assinado com Apple ID gratuito expira em 7 dias até no próprio dispositivo. A Etapa 17 entregaria apenas um `flutter build ios --no-codesign` verde — uma pasta que quebra a cada bump de dependência e que ninguém consegue instalar. O macOS permanece no escopo: a assinatura ad-hoc (`CODE_SIGN_IDENTITY` = "-", default do template) produz um `.app` distribuível, com atrito de Gatekeeper mas instalável. Removido: - Pasta `ios/` (52 arquivos versionados) - `ios` e `remove_alpha_ios` do `flutter_launcher_icons.yaml` - `ios_content_mode` do `flutter_native_splash.yaml` - `**/ios/Flutter/.last_build_id` do `.gitignore` Os dois pacotes de assets têm defaults opostos para a chave `ios`: `flutter_launcher_icons` assume `false` quando ausente, enquanto `flutter_native_splash` assume `true`. Por isso o splash ficou com `ios: false` explícito e um comentário — apagar a linha reativaria a geração. Nenhuma linha de Dart foi alterada: os `case TargetPlatform.iOS:` em `PlatformInfo` e os testes que os cobrem permanecem, porque o enum é do Flutter e o `switch` precisa continuar exaustivo. `flutter create --platforms=ios .` regenera o runner caso a assinatura paga seja adquirida.
Stage 16 left macOS building only on the developer machine — no release shipped a macOS artifact. tool/macos/build_zip.sh now verifies the ad-hoc signature, compresses the bundle with ditto and writes the zip plus its SHA-256 to dist/, mirroring the .deb and Windows installer flows. CI gains build-macos (macos-latest, same gating as build-windows and build-linux) and the release pipeline gains release-macos, whose artifact joins the GitHub Release. ditto is mandatory here: upload-artifact keeps neither permissions nor symlinks, so a raw .app would arrive unusable.
Pushes on dev no longer distribute the APK to the Firebase dev tester group: the same build is already available as an Actions artifact and the group never had real users. The CI now distributes nothing at all — publishing happens only in release.yml, which keeps the stable group. Drops the two distribution steps and the HAS_FIREBASE env from ci.yml; the FIREBASE_SERVICE_ACCOUNT secret stays in use by the release pipeline.
The build-macos job runs in 4m49s on macos-latest, verifies the ad-hoc signature of the 49.0 MB Decima.app and uploads a 20 MB zip. The ruleset main-protegida now requires it as the seventh check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resumo
Fecha as Etapas 16 e 16.1 do plano — o macOS deixa de existir só na máquina do dev e passa a sair em todo release.
PlatformInfo.isMacOS,AppTitleBarcom variante da plataforma (semáforo nativo preservado, logo + nome centralizados),hiddenWindowAtLaunch()no runner, ícone do Dock arredondado ePRODUCT_NAME = Decimatool/macos/build_zip.sh(verifica a assinatura ad-hoc →ditto→dist/*.zip+.sha256), jobbuild-macosno CI erelease-macosno releaseMudança de processo
O canal
devdo Firebase App Distribution foi aposentado: o CI não distribui mais nada, os builds ficam como artefato do Actions e orelease.ymlmantém o grupostableintacto.Artefato novo no release
decima-<versão>-macos.zip+.sha256— binário universal (Apple Silicon + Intel), assinatura ad-hoc, macOS 10.15+.Validação
flutter test— 709 testes verdes |flutter analyze— zero warnings |dart format— 0 mudançasdev(run32665377105):build-macosem 4m49s,Decima.app49,0 MB → zip de 20 MB,Signature=adhocconferidabuild-macosadicionado como 7º check obrigatório do rulesetmain-protegida