Itchy Native is a mobile app that acts as a client for the Scratch website. It is the next-gen React Native rewrite of the original Itchy Ionic app created in 2021. This project is tested with BrowserStack. Thanks!
You can install one of the CI-generated APK files from the releases page or you can install the app from the platforms' respective app stores below.
Warning
We are undergoing an incremental migration from vanilla JavaScript over to TypeScript.
You can read more about Itchy's codebase in the CONTRIBUTING.md.
- Clone the repository and run
npm install. - Set up your environment according to the Expo Android docs.
- If are on Windows, due to path limits you should map the repository to a drive letter and work from there:
subst I: "C:\Users\myuser\repos\itchy-native" - In the
androiddirectory, create a new file calledkey.properties. Inside of it, place information about your signing keystore in this format:
storePassword=[keystore password]
keyPassword=[key password]
keyAlias=[key alias]
storeFile=[path to your keystore]- Prebuild the project with
npx expo prebuild. - Run
npm run androidto run the on an emulator or device.
- Clone the repository and run
npm install. - Set up your environment according to the Expo iOS docs.
- Install Ruby version 2.7.2 according to the Ruby docs if it's not already on your Mac.
- Install Cocoapods with
sudo gem install cocoapodsand resolve any errors that may occur. - Prebuild the project with
npx expo prebuild. - Run
npx expo run:iosto run the on the XCode simulator or your device.
- Go into the
androiddirectory withcd android. - Run
./gradlew assembleReleasefor an APK output or./gradlew bundleReleasefor an Android App Bundle output.
- Run
./utils/rebuild-ios.shin the root directory. - If you get a permission error, run
chmod +x utils/rebuild-ios.sh. - Open the
Itchytarget and select your personal development team in Signing & Capabilities. - Go to
Product/Scheme/Edit Schemein the Menu Bar and set the Build Configuration toRelease. Disable Debug Executable for better performance on first launch. - Build the project.
- Run
npx expo run:ios --device --configuration Releasein the root directory. - Choose your preferred Device/Simulator from the interactive menu.
- If prompted, choose what development team to use for signing.
