This project was generated using Nx.
- Optional:
npm i -g nx
- This will allow you to run
nx
commands withoutnpx
. If you do not want to installnx
globally, you can runnpx nx
instead ofnx
.
- This will allow you to run
- Install dependencies:
npm install
-
The app uses demo data by default. To use wallet servers instead, copy
packages/mobile-app/.env.template
topackages/mobile-app/.env
and setEXPO_PUBLIC_DEMO_API=false
. -
In a terminal, build and run the iOS app:
nx ios mobile-app
- Alternatively, install this VSCode extension for running the app within your editor
To execute tasks with Nx use the following syntax:
npx nx <target> <project> <...options>
You can also run multiple targets:
npx nx run-many -t <target1> <target2>
..or add -p
to filter specific projects
npx nx run-many -t <target1> <target2> -p <proj1> <proj2>
Targets can be defined in the package.json
or projects.json
. Learn more in the docs.
TestFlight makes it easy to deploy beta builds to iOS users. To deploy, you'll need to have XCode installed.
-
Increment the build number in
app.json
. Updating just the build allows for quicker deploys to TestFlight, so avoid updating the version number. -
Prebuild the app:
nx prebuild mobile-app -- --platform ios
-
Install native dependencies:
nx pod-native mobile-app
-
Open the XCode Workspace:
open packages/mobile-app/ios/IronFish.xcworkspace
- Click the folder icon in top left of editor (Project navigator).
- Click "IronFish", then the Signing & Capabilities tab.
- Verify that "IF Labs" displays for the team. If not, select it if available, or sign in with an Apple account that has access to the developer team.
- Verify that the bundle identifier reads "network.ironfish.mobilewallet"
- Switch to the Info tab. Verify that the following fields match
app.json
:- "Bundle version" should match
buildNumber
- "Bundle version string (short)" should match
version
- "Bundle version" should match
- In the scheme bar (top center of editor), select "Any iOS Device (arm64)"
- In the Mac menu bar, click Product -> Archive, then wait for the build to complete.
codesign
may ask you to enter your password to sign the build.
- The list of builds will appear (You can return here with Window -> Organizer). Select the latest archive and click "Distribute App".
- Select "App Store Connect", then click "Distribute".
- There may be some errors about missing symbols, but it's fine to ignore.
- Login at appstoreconnect.apple.com
- Click "Apps"
- Click "Iron Fish Wallet"
- Click the TestFlight tab
- Wait for the build you uploaded to finish processing
- You may need to complete encryption compliance questions.
- Click on the build number
- Under Test Details, fill out information about what changed.
- Under Group, click the plus and add "External Testers".
- Check "Automatically notify testers"
- Fill out the field with the same content as Test Details
- Click Submit for Review