You need your GoogleService-Info.plist from your iOS Client ID from Google Cloud that was autogenerated by Firebase when you added Sign-In with Google!
- If your GoogleService-Info.plist is missing the required key value pairs for the following:
- API_KEY, GCM_SENDER_ID, PROJECT_ID, STORAGE_BUCKER, GOOGLE_APP_ID, IS_ADS_ENABLED, IS_ANALYTICS_ENABLED, IS_APPINVITE_ENABLED, IS_APPINVITE_ENABLED, or IS_GCM_ENABLED
- Then you can check the version I uploaded to AWS Secrets Manager in us-west-1, which was converted to a string with:
awk '{printf "%s\\n", $0}' APP/ios/GoogleService-Info.plist- Convert it back to a file with (USE SINGLE QUOTES):
echo '...' | sed 's/\\n/\n/g' > APP/ios/GoogleService-Info.plist
- SETUP:
- If any of these steps are messed up you could have, mysterious crashes you won't be able to track down easily
- Do NOT commit the
iosfolder - Place your
GoogleService-Info.plistunderStreamTrack/APP/ - For CLOUD EAS Expo Builds (
npx eas build -p io--profile production`):- Go to the Expo EAS website
- Go to your project
- Go to environmental variables under project settings
- Add variable
GOOGLE_SERVICES_PLISTwith the file upload button as a Secret in both dev and production
- Expo will run the
npx expo prebuild --platform ioswhen you run the cloud build and it will copy the GoogleService-Info.plist to theiosfolder for you!- This is why you can NOT commit the
iosfolder because it will skip that step
- This is why you can NOT commit the
cd StreamTrack/APPThings have changed so when developing try to just run it on the iOS 18.5 simulator. Make sure you are signed into iCloud on the simulator for sign in with Apple. Before you run, if you haven't already, run:
npx expo prebuild --platform iosThen run:
npx expo run:iosOlder, but faster ways (might not work) (don't click 's' to switch to for Expo Go):
npm startor
npx expo startTo clear cache:
npx expo start -cCan't really do now, need to change a few things and comment out the Sign In with Apple/Google buttons.
In StreamTrack/APP/.env.local, change DATA_API_URL from localhost to the computer's or server's IP Address.
In StreamTrack/API/Properties/launchSettings.json, change localhost to 0.0.0.0 to allow anyone on the same network. Mainly just in the HTTP section.
Scan the QR code on your phone
Be fully committed to GitHub
npx eas build:configureChoose iOS
Secrets needed to be added to the EAS ENV (.env.local) (see the .env.example for what is needed):
eas env:create --name SECRET_NAME --value "..."You can only do one at a time. Use the space bar to pick the options. I did Development & Production
Make sure you commit your code to the DEFAULT branch in your Git repo. That is where Expo cloud will pull from:
npx eas build -p ios --profile productionSubmit (to App Store Connect, not to the App Store and does NOT request a review)
npx eas submit --platform ios