Project Name: Return
App Name: GivingBack
Backend Repo: https://github.com/Hoo-dkwozD/GivingBackApp-BackEnd
Pitch Slides: https://www.canva.com/design/DAFF8Xv5lkc/sGZ6lW7Z_yJy1rLgsTj5lA/view
This project aims to make volunteering easier, widespread, and more beneficial to those in need. GivingBack will be developed with an innovative approach to these 2 separate approaches, an enhanced volunteer referral system, and a streamlined volunteer mechanism. We believe these areas can all be addressed within a single mobile app.
Keep in mind that this library can cause trouble if you are renaming a project that uses Pods
on the iOS side.
After that you should proceed as with any javascript project:
- Go to your project's root folder and run
npm install
. - If you are using Xcode 12.5 or higher got to /ios and execute
pod install --
repo-update` - Run
npm run ios
ornpm run android
to start your application!
(Using yarn: yarn ios
or yarn android
)
Note: Please read the Setup environments section that is below in this file for more information about the execution scripts.
To customize the splash screen (logo and background color) use the CLI provided in the official docs.
The template already has scripts to execute the project calling a specific environment defined into the package.json file. Keep in mind that if you are going to create new envs
you have to define the script to build the project properly.
To define which env you want to use, just keep the structure yarn [platform]: [environment]
DEV: yarn ios
or yarn android
STG: yarn ios:staging
or yarn android:staging
PROD: yarn ios:prod
o yarn android:prod
Also, you can use npm following the same rule as before: npm run ios:staging
Modify the environment variables files in root folder (.env.development
, .env.production
and .env.staging
)
A map associating builds with env files is already defined in app/build.gradle
you can modify or add environments if needed.
For multiple enviroments to work you would need to change -keep class [YOUR_PACKAGE_NAME].BuildConfig { *; }
on proguard-rules.pro
file.
The basic idea in iOS is to have one scheme per environment file, so you can easily alternate between them.
To create a new scheme:
-
In the Xcode menu, go to Product > Scheme > Edit Scheme
-
Click Duplicate Scheme on the bottom
-
Give it a proper name on the top left. For instance: "qa"
-
Then edit the newly created scheme to make it use a different env file. From the same "manage scheme" window:
Expand the "Build" tab on the left menu
- Click "Pre-actions", and under the plus sign select "New Run Script Action"
- Where it says "Type a script or drag a script file", type:
echo ".env.qa" > /tmp/envfile
replacing.env.qa
with your file.
-
Also, you will need to select the executable for the new schema:
Expand the "Run" tab on the left menu
- Under the "Executable" dropdown select the ".app" you would like to use for that schema
These are the steps to generate .apk
, .aab
and .ipa
files
- Generate an upload key
- Setting up gradle variables
- Go to the android folder
- Execute
./gradlew assemble[Env][BuildType]
Note: You have three options to execute the project
assemble:
Generates an apk that you can share with others.
install:
When you want to test a release build on a connected device.
bundle:
When you are uploading the app to the Play Store.
For more info please go to https://reactnative.dev/docs/signed-apk-android
- Go to the Xcode
- Select the schema
- Select 'Any iOS device' as target
- Product -> Archive
For more info please go to https://reactnative.dev/docs/publishing-to-app-store