Pular para o conteúdo principal

Quickstart iOS

1. Crie a política​

npx moatgator init --bundle-id com.acme.pay

O init lê o PRODUCT_BUNDLE_IDENTIFIER do seu projeto Xcode quando ele é um valor literal. Se o projeto usa uma variável (por exemplo $(APP_ID)), passe o --bundle-id.

moatgator.yml
version: 1
extends: moatgator:recommended
app:
ios:
bundleId: com.acme.pay

2. Gere o .ipa​

A Moatgator não compila o seu app iOS: o archive e a exportação dependem do seu projeto, dos certificados e dos provisioning profiles, que a Moatgator nunca guarda. Use o seu pipeline de sempre, por exemplo:

xcodebuild -scheme MyApp -configuration Release -archivePath build/MyApp.xcarchive archive
xcodebuild -exportArchive -archivePath build/MyApp.xcarchive \
-exportOptionsPlist ExportOptions.plist -exportPath build/ipa

3. Analise e registre​

npx moatgator scan build/ipa/MyApp.ipa --min-grade C
export MOATGATOR_API_KEY=mg_live_... # escopos: builds:write, builds:read
npx moatgator protect build/ipa/MyApp.ipa --app-version 2.0.0

Notas​

  • Runners: builds iOS precisam de runners macOS. O CLI da Moatgator em si só precisa do Node 20 ou mais novo.
  • A assinatura continua com você. Certificados e profiles ficam no seu pipeline.
  • O pull request do GitHub App não adiciona uma etapa de build iOS, porque ele não tem como saber o seu scheme nem a sua configuração de assinatura. Quando você tiver o .ipa, chame o CLI ou a Action com artifact: path/to/App.ipa.
  • Próximo passo: guias de CI e detecções. No iOS, root significa jailbreak.