Files
coach-ios/android/app
Sylvain Bettinelli ebb9273dc3 Le scan de code-barres ne pouvait pas fonctionner sur Android
Le manifest ne declarait que INTERNET. Or /meals scanne via
navigator.mediaDevices.getUserMedia() : Capacitor 8 relaie bien la demande
(BridgeWebChromeClient.onPermissionRequest mappe VIDEO_CAPTURE sur
Manifest.permission.CAMERA, puis lance le permissionLauncher), mais il ne peut
demander a l'utilisateur que ce qui est declare dans le manifest. La permission
etant absente, le scan etait le seul chemin casse - <input capture> continuait
de marcher, puisqu'il delegue a l'app appareil photo par intent.

CAMERA implique android.hardware.camera ET android.hardware.camera.autofocus en
fonctionnalites REQUISES, donc filtrage au Play Store, tant qu'on ne les
redeclare pas en required="false". Les deux sont donc declarees explicitement :
le scan demande facingMode ideal, pas exact, l'app reste utilisable sans.

Cote iOS, les libelles de permission ne decrivaient que le scan de code-barres
et la photo de profil, alors que la camera et la photothèque servent aussi a
photographier une assiette et une etiquette nutritionnelle pour analyse. Un
libelle qui ne couvre pas l'usage reel est un motif classique de rejet App
Store. NSPhotoLibraryAddUsageDescription reste inutile : rien n'ecrit dans la
photothèque (aucun PHPhotoLibrary ni UIImageWriteToSavedPhotosAlbum dans ios/).

Les deux fichiers sont bien formes (xml.etree, plistlib). Rien n'est compile
ici : reste a verifier sur un appareil que le dialogue camera apparait et que
le flux video s'affiche.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 08:10:10 +00:00
..