tatmapper-app

iOS and TestFlight runbook

Repository/build gate

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.

Owner-controlled signing and TestFlight

  1. Select the correct Apple Developer team and explicit App ID.
  2. Create or use a distribution certificate and App Store provisioning profile.
  3. Archive the Release configuration in Xcode 26.
  4. Validate the archive and review the privacy report/dependency signatures.
  5. Upload only with explicit owner authorization.
  6. Complete App Privacy answers, privacy/support URLs, age rating, export compliance, screenshots, description, keywords, and review notes.
  7. Install through TestFlight on an iPhone and iPad and execute the QA matrix.

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.