Skip to content

Instantly share code, notes, and snippets.

@Aeickelman40
Created March 16, 2023 14:13
Show Gist options
  • Save Aeickelman40/056c3724cb28b989a8eb73674ba85032 to your computer and use it in GitHub Desktop.
Save Aeickelman40/056c3724cb28b989a8eb73674ba85032 to your computer and use it in GitHub Desktop.
Plus View Rebuild Documentation

The Plus View


This project is built using React Native with additional tooling provided by Expo.

For help, read the React Native Docs and Expo Docs.

Getting global/local dependencies

Get started by making sure that you have Node and NPM installed. At the moment, my development PC is running node v14.15.3 and NPM v6.14.9.

$ npm install

This will install the necessary packages that are needed to build the application, then npm will grab all of the local dependencies that you will need.

Ignore SSL errors

The app will throw SSL errors when attempting to connect to the meters. This must be corrected before building the app. These changes must be made manually because the files that need to be modified cannot be version as they are generated at the time of adding the platform files within the app.json file.

For Android users, the property of usesClearTextTraffic is set to the value of true Android Documentation.

For iOS users, an infoPlist object is created which contains NSAppTransportSecurity and NSAllowsArbitraryLoads, the latter being set to a value of true.

NOTE When submitting the application to the Apple Store, a justification must be provided for why SSL errors are being overriden NSAppTransportSecurity documentation.

To run the application locally on a device

Once all dependencies have been installed run the following command in the terminal to run in a development environment

$ expo start

This will then enable 4 different runtime environments (Android via Android studio, iOS simulator via Xcode, web via default browser, and on the Expo Go app on your personal device).

To build the application to a device

For Google Play and Apple Store submission a binary build of the application is required, this will be handled through Expo using EAS Build EAS Documentation. Once installed and configured running the following commands will create a build bundle that can then be used for store submission:

Android:

$ eas build --platform android

iOS:

$ eas build --platform ios

NOTE A developer account is required for both stores in order to enable their respective consoles. See step 4 in the Expo Build Documentation

Deploying the application to the Google Play and Apple Stores

Once a binary build has been made EAS will enable submission to the Google Play Store and Apple Stores Google Play Submission Documentation Apple Submission Documentation

Testing the production build through the Google Play Store

Within the Google Play Developer Console, internal testers can be added by selecting the Testing Tab -> Internal testing, then selecting the Testers tab. Current Testers List is declared as 'Testers Email List'. The production environment can be accessed throught the following URL (https://play.google.com/console/u/0/developers/7391268074818316253/app/4975625957599356497/tracks/production)

Testing the production build through TestFlight (iOS)

For testers using iOS devices, the TestFlight App TestFlight Documentation provides a production level environment prior to Apple Store Submission. Within the Apple Store Developer Console, testers can be added through the tab labeled 'Internal Testing'. A confirmation email will then be sent for access for the testing environment, when prompted for an invitation code, the tester should input the following:

'SSUDWZ9HD3'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment