Files

1.8 KiB

Expo HAS CHANGED

Read the exact versioned docs at https://docs.expo.dev/versions/v56.0.0/ before writing any code.

Versioning & Build Rules

Whenever a new build is triggered, the version MUST be updated in BOTH app.json and package.json.

  • version format: 23.01.X
  • versionCode: X (just the last number) Examples:
  • version 23.01.1 -> versionCode 1
  • version 23.01.3 -> versionCode 3
  • version 23.01.123 -> versionCode 123

Apps must always be built as BOTH .apk and .aab. The exact naming syntax for compiled files is: Schnappix_v23.01.X.apk Schnappix_v23.01.X.aab IMPORTANT: All compiled files must be placed in the apks/ directory (e.g. apks/Schnappix_v23.01.X.apk). Do NOT place them in the root directory.

Architectural Decisions & Project Rules

  1. Kiosk Mode (Device Owner)
    • The app uses Custom Native Modules (Kotlin) for LockTask mode. It does NOT use external MDM software.
    • For LockTask to work, the app MUST be set as Device Owner via ADB (adb shell dpm set-device-owner de.orfel.schnappix/de.orfel.schnappix.KioskDeviceAdminReceiver).
  2. Photo Saving (Permissions)
    • Uses modern Android MediaStore API (writeOnly = true via expo-media-library) to save photos directly to Schnappix - <EventName> - Collagen and Schnappix - <EventName> - Originale.
    • Do NOT attempt to force legacy WRITE_EXTERNAL_STORAGE or READ_EXTERNAL_STORAGE on Android 13+, as it will fail.
  3. Package Name
    • Must strictly remain de.orfel.schnappix.

Git & Workflow Rules

  • Always Commit and Push: At the end of every interaction or when tasks are completed, ALL changes must be automatically committed and pushed to Git (git add ., git commit, git push).
  • Push Retry Bug: If git push fails with an authentication error, ALWAYS try running it a second time, as it usually succeeds on the retry.