~ knotless Search/
↑↓ move↵ open⇧↵ all results

grain.social/grain-ios

1 collaborator
0
1
main
70 lines · 1.9 KB Raw History

Development Setup

Prerequisites

brew install xcodegen just xcbeautify swiftformat swiftlint

First-time setup

  1. Copy the env file

    cp .env.example .env
    

    Fill in your APPLE_TEAM_ID (find it at developer.apple.com → Account → Membership).

  2. Generate the Xcode project

    just generate
    
  3. Run on simulator

    just sim
    

Building on a real device

Plug in your iPhone, then:

just device <your-device-udid>

Find your UDID:

xcrun xctrace list devices

Note: Device builds require your Apple ID to have certificate access on the team. If you're on an individual developer account, team members need to use TestFlight or Xcode directly with automatic signing.

Deploying a build

just release

This bumps the build number, archives, and uploads to App Store Connect. Builds are automatically distributed to the Devs internal TestFlight group after processing.

Environment variables

VariableDescription
APPLE_TEAM_IDApple Developer Team ID used for signing device builds and releases

just loads .env automatically. No shell changes needed.

Common commands

CommandDescription
just generateRegenerate Xcode project from project.yml
just simBuild + run on booted simulator (production API)
just sim-localBuild + run on booted simulator (local API)
just sim-freshSame as just sim, but uninstalls first to wipe app sandbox (URLCache, UserDefaults, on-disk caches)
just sim-local-freshSame as just sim-local, but uninstalls first
just device <udid>Build + install to plugged-in iPhone
just testRun tests
just format-fixAuto-fix formatting
just lint-fixAuto-fix lint violations
just releaseBump build, archive, upload to App Store Connect