mirror of
https://github.com/siop-spelev/siop2.git
synced 2026-08-08 12:41:54 +00:00
feat(mobile): recette terrain iPhone 15 Pro — 7/7 validés (ADR-005)
Expo Go (App Store) bloqué par le retard d'approbation Apple (SDK 54
contre notre SDK 57) — décision : builds natifs locaux (Xcode/Android
Studio, signature Apple ID personnel gratuite) pour la vraie recette
terrain, Expo Go conservé pour l'aperçu sans installation ailleurs.
- ADR-005 : deux canaux de distribution, managed workflow conservé.
- apps/mobile/.env : EXPO_PUBLIC_USE_RN_FETCH=1 — fix permanent d'un
bug SDK 57 (fetch global expo/fetch incompatible avec l'upload
multipart natif {uri,name,type}, classé à tort « réseau
indisponible » par notre propre gestion d'erreur).
- package.json/app.json : scripts ios/android pointés sur les builds
natifs (expo run:*) plutôt que expo start (Expo Go), identifiants
de bundle générés par le prebuild.
- Recette iOS (iPhone 15 Pro physique) : connexion démo, scan caméra
réel (résolution locale + rejet QR étranger), vrai mode avion (D1),
conflit de version tranché par l'humain avec photo réellement
téléversée (D2/D5), persistance de la file à travers fermeture et
reconstruction de l'app, suggestions R5 au vrai modèle, purge de
sécurité au changement de compte (ADR-003) — 7/7 validés, la
validation terrain due depuis release/r4 est levée pour iOS.
- Android : build natif sur émulateur, passage santé complet
(connexion, navigation, écran Scanner, résolution de référence).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
8
apps/mobile/.env
Normal file
8
apps/mobile/.env
Normal file
@@ -0,0 +1,8 @@
|
||||
# Depuis Expo SDK 57, le `fetch` global est `expo/fetch` (WinterCG) — qui ne
|
||||
# comprend pas le raccourci FormData natif `{uri, name, type}` utilisé pour
|
||||
# joindre un fichier au multipart (photos d'intervention, D5). Sans ce
|
||||
# réglage, l'upload échoue avec `Unsupported FormDataPart implementation`,
|
||||
# systématiquement classé à tort comme une coupure réseau (D1) et mis en
|
||||
# boucle de retry silencieuse — trouvé en recette terrain iOS (17/07/2026).
|
||||
# Voir ADR-005 et docs/journal/journal.md.
|
||||
EXPO_PUBLIC_USE_RN_FETCH=1
|
||||
@@ -7,7 +7,8 @@
|
||||
"icon": "./assets/icon.png",
|
||||
"userInterfaceStyle": "automatic",
|
||||
"ios": {
|
||||
"supportsTablet": true
|
||||
"supportsTablet": true,
|
||||
"bundleIdentifier": "com.anonymous.siop2-mobile"
|
||||
},
|
||||
"android": {
|
||||
"adaptiveIcon": {
|
||||
@@ -16,7 +17,8 @@
|
||||
"backgroundImage": "./assets/android-icon-background.png",
|
||||
"monochromeImage": "./assets/android-icon-monochrome.png"
|
||||
},
|
||||
"predictiveBackGestureEnabled": false
|
||||
"predictiveBackGestureEnabled": false,
|
||||
"package": "com.anonymous.siop2mobile"
|
||||
},
|
||||
"web": {
|
||||
"favicon": "./assets/favicon.png"
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
},
|
||||
"scripts": {
|
||||
"start": "expo start",
|
||||
"android": "expo start --android",
|
||||
"ios": "expo start --ios",
|
||||
"android": "expo run:android",
|
||||
"ios": "expo run:ios",
|
||||
"web": "expo start --web",
|
||||
"typecheck": "tsc -p tsconfig.json --noEmit",
|
||||
"test": "jest",
|
||||
|
||||
Reference in New Issue
Block a user