32 lines
1.7 KiB
Markdown
32 lines
1.7 KiB
Markdown
# 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.
|
|
- `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`
|
|
|
|
# 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.
|