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 comartifact: path/to/App.ipa. - Próximo passo: guias de CI e detecções. No iOS,
rootsignifica jailbreak.