2026-03-08 11:45:38 -07:00
|
|
|
# Distributing Forji
|
|
|
|
|
|
2026-03-08 11:51:42 -07:00
|
|
|
A short description on how to distribute a new version of the Forji app to the Apple App Store.
|
|
|
|
|
|
|
|
|
|
## 0. Pre-Release
|
|
|
|
|
|
|
|
|
|
Make sure the code has no linting errors and is formatted correctly:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
just format
|
|
|
|
|
just lint
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Run all tests:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
just test
|
|
|
|
|
just test-ui
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-08 11:45:38 -07:00
|
|
|
## 1. Bump the version
|
|
|
|
|
|
|
|
|
|
In Xcode, select the project → target **Forji** → **General** → **Identity**:
|
|
|
|
|
|
|
|
|
|
- **Version** — increment the marketing version (e.g. `1.0` → `1.1`)
|
|
|
|
|
- **Build** — increment the build number (must be unique per App Store upload)
|
|
|
|
|
|
|
|
|
|
Or use the CLI from the `Forji/` directory:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# Check current versions
|
|
|
|
|
agvtool what-marketing-version
|
|
|
|
|
agvtool what-version
|
|
|
|
|
|
|
|
|
|
# Set new versions
|
|
|
|
|
agvtool new-marketing-version 1.1
|
|
|
|
|
agvtool new-version -all 1.1
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
For simlicity we keep the two version the same.
|
|
|
|
|
|
|
|
|
|
## 2. Archive
|
|
|
|
|
|
|
|
|
|
1. Select the build destination **Any iOS Device (arm64)**
|
|
|
|
|
2. Select **Product → Archive**
|
|
|
|
|
3. Wait for the archive to complete
|
|
|
|
|
|
|
|
|
|
## 3. Upload
|
|
|
|
|
|
|
|
|
|
1. In the Organizer window (opens automatically after archiving), select the new archive
|
|
|
|
|
2. Click **Distribute App**
|
|
|
|
|
3. Follow the prompts to upload to App Store Connect
|
|
|
|
|
|
|
|
|
|
## 4. Release
|
|
|
|
|
|
|
|
|
|
1. Open [App Store Connect](https://appstoreconnect.apple.com)
|
|
|
|
|
2. Select the build, fill in release notes
|
|
|
|
|
3. Submit for review
|