This project was generated using Nx.
- Optional:
npm i -g nx- This will allow you to run
nxcommands withoutnpx. If you do not want to installnxglobally, you can runnpx nxinstead 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.templatetopackages/mobile-app/.envand 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.
codesignmay 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