On macOS with Xcode 26:
cd app
flutter pub get
dart format --output=none --set-exit-if-changed lib test tool
dart run tool/verify_shipping_policy.dart
dart run tool/verify_license_hygiene.dart
flutter analyze --no-pub --fatal-warnings
flutter test --no-pub
flutter build ios --release --no-codesign
The license command must pass. Issue #109 records Bradley C. Peter as the 2025–2026 proprietary copyright holder and the creator/owner of the current logo. Do not upload an archive if that identity, the private-repository direction, or the third-party notices drift.
Verify bundle identifier, iOS 13 minimum, supported orientations, camera import,
PNG import, local save/resume, PDF share sheet, lifecycle recovery, and the
included PrivacyInfo.xcprivacy. Re-audit required-reason APIs after every
plugin update.
The reviewed generated registrant contains AVFoundation camera, file picker, path provider, and printing only. The first-party privacy manifest currently declares no tracking, no collected-data types, and no required-reason API; the Xcode archive privacy report remains the authoritative release check.
Suggested review note: TatMapper is a free local-first planar placement beta. The sample project exercises the complete workflow without requiring personal media. The app does not provide curved-body unwrapping or a medical function.
“No-sign Xcode build passes” is compile evidence. App Store readiness requires a signed validated archive and TestFlight device installation; neither may be claimed before completion.