diff --git a/mobile/README.md b/mobile/README.md index 8d3c78df..45bf2e9a 100644 --- a/mobile/README.md +++ b/mobile/README.md @@ -43,7 +43,7 @@ npm install -g eas-cli # Log in to Expo eas login -# Configure your project (one-time) +# Configure your project (one-time) – updates app.json with the EAS project ID eas init # Build for iOS @@ -56,16 +56,21 @@ eas build --platform android eas build --platform all ``` +> **After running `eas init`:** update the `extra.eas.projectId` field in `app.json` with the value printed by the command. + ### iOS-specific - An Apple Developer account is required for TestFlight and App Store distribution -- Update `eas.json` with your `appleId`, `ascAppId`, and `appleTeamId` +- Update `eas.json` → `submit.production.ios` with: + - `appleId`: your Apple ID email address + - `ascAppId`: App Store Connect → App Information → Apple ID + - `appleTeamId`: Apple Developer portal → Membership → Team ID - Camera, photo library, and push notification usage descriptions are configured in `app.json` ### Android-specific - Add a `google-services.json` file (from Firebase Console) to the `mobile/` directory for push notification support -- Update `eas.json` with the path to your Google Play service account key +- For Play Store submission: create a service account in Google Play Console, download the JSON key as `google-play-service-account.json`, and update `eas.json` ## Configuration diff --git a/mobile/babel.config.js b/mobile/babel.config.js index 61393521..73ebf58e 100644 --- a/mobile/babel.config.js +++ b/mobile/babel.config.js @@ -2,17 +2,5 @@ module.exports = function (api) { api.cache(true); return { presets: ["babel-preset-expo"], - plugins: [ - [ - "module-resolver", - { - root: ["./"], - alias: { - "@": "./src", - }, - }, - ], - "react-native-reanimated/plugin", - ], }; }; diff --git a/mobile/tsconfig.json b/mobile/tsconfig.json index 58432076..20e4176b 100644 --- a/mobile/tsconfig.json +++ b/mobile/tsconfig.json @@ -1,10 +1,9 @@ { "compilerOptions": { "target": "ESNext", - "lib": ["ESNext", "dom"], + "lib": ["ESNext"], "module": "ESNext", - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, + "moduleResolution": "node", "strict": true, "esModuleInterop": true, "skipLibCheck": true, diff --git a/tests/test_api_mobile.py b/tests/test_api_mobile.py index f60c3b28..54b08967 100644 --- a/tests/test_api_mobile.py +++ b/tests/test_api_mobile.py @@ -494,6 +494,7 @@ class TestPushNotificationUtility: with patch("app.utils.push_notification.send_expo_push_notification") as mock_send: send_push_to_owner("user@example.com", "Title", "Body") mock_send.assert_not_called() + mock_session.close.assert_called_once() def test_send_push_to_owner_with_devices(self): """send_push_to_owner calls send_expo_push_notification with device tokens."""