# Install Redcast

> Build, sign and install the fork, preserve privacy grants, and roll back an update.

Redcast currently installs from source. The Tinycast Homebrew casks and upstream releases install Tinycast, not this fork.

## Requirements

- macOS **26 or later**; macOS 27 is preferred by the project.
- **Xcode 26** with its command-line tools selected.
- An **Apple Development** signing identity in your login keychain. Xcode → Settings → Accounts → Manage Certificates can create one with an Apple ID.
- Git and network access to clone the repository.

The committed Xcode project is ready to build. XcodeGen is only needed when regenerating it after a project configuration change.

## Build and install

```bash
git clone https://github.com/alesha-pro/redcast.git
cd redcast
git remote add upstream https://github.com/abue-ammar/tinycast.git
git fetch upstream --tags
Scripts/fork/install.sh --self-check
Scripts/fork/install.sh
```

Fetching upstream tags gives About the base version used by the fork's version calculation. **Self-check** resolves the identity, version and paths and explains the installation without building or changing the installed app.

The installer builds a Release for this Mac, signs and verifies it, asks the running Redcast to quit, and swaps the new app into **/Applications/Redcast.app**. It keeps the previous copy for rollback and relaunches the installed app.

If you have several signing identities, select one explicitly:

```bash
TINYCAST_SIGN_IDENTITY='Apple Development: Your Name (TEAMID)' Scripts/fork/install.sh
```

Use the exact identity shown by your keychain. A missing identity is an installation error; the script does not silently change your signing setup.

## First launch

Choose a launcher shortcut in **Settings → General**. Grant [permissions](/docs/permissions) when you enable a feature that needs them. Enable **Launch at login** if you want Redcast ready after restarting your Mac.

Redcast's installed bundle ID is `io.redcast.app`. It has separate data and privacy grants from Tinycast and from the Debug build, so they can be installed side by side. Bind different global shortcuts if you run them together.

## Update

```bash
cd redcast
git pull --ff-only
Scripts/fork/install.sh
```

Redcast does not use Tinycast's automatic updater. See [updates and rollback](/docs/reference/updates) for signing checks and how to restore the previous build.

## If installation fails

| Symptom | What to check |
| --- | --- |
| Xcode macros or SDK cannot be found | Make sure `xcode-select` points to Xcode, not only Command Line Tools. See the [developer guide](/docs/developers). |
| No signing identity | Create an Apple Development certificate in Xcode and rerun self-check. |
| Installer refuses a changed identity | Keep the certificate used for the existing app, or deliberately accept the new identity and re-grant permissions. |
| App opens but the shortcut does nothing | Record a shortcut; none is set by default. Check for a conflict in Settings → Shortcuts. |
| Pasting or window actions fail after migration | Re-grant Accessibility to Redcast. Moving stored data cannot migrate macOS privacy grants. |

## Removing the app

Quit Redcast and remove `/Applications/Redcast.app`. That does not delete your data. Export a [backup](/docs/reference/backup) before removing settings or Application Support. The [storage reference](/docs/reference/privacy#where-data-lives) lists the directories; avoid deleting Tinycast's or the Debug build's directories by mistake.
