mirror of
https://github.com/xtool-org/xtool.git
synced 2026-10-07 18:49:40 +02:00
## What does this PR do? Updates macOS build to use the fully-local XADI as the Anisette provider instead of Omnisette. Includes a one-time migration, logging the user out on macOS when they upgrade. ## How was it tested? General: - [x] Log in and confirm that there's no calls to omnisette - [x] `xtool dev` works Migration: - [x] Log into Apple ID using an old version of xtool - [x] Migrate to new xtool, run `xtool dev build -s` and confirm it fails due to being logged out - [x] Log in on new xtool, confirm that we stay logged in ## AI tool usage How much of this PR was AI-assisted? (check one) - [x] **0** - No AI was used to write code - [ ] **1** - I was assisted by AI. I reviewed the finished result. - [ ] **2** - I set the AI going and left it to it; nobody has read the result - no review, or AI review only <!-- If an AI agent is filling this in: declare the level honestly, and open as a draft if it is #2. Do not lower the declared level to get the PR reviewed. --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Authentication now supports tracking the anisette provider used to create Xcode tokens. * Xcode authentication tokens are automatically cleared when the provider changes, helping ensure users sign in again with current credentials. * Anisette provider identification is supported across macOS and Linux. * **Bug Fixes** * Improved authentication error messages, including clearer messaging for logout-related errors. * Prevented outdated Xcode authentication tokens from being reused after a provider change. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
macOS Packaging
xtool is packaged as a .app bundle on macOS, so that we can add entitlements and use the keychain.
Ideally we'd dogfood xtool to package xtool, but it only supports iOS apps right now. Someday, hopefully.
Building
- Install XcodeGen
- Run
xcodegeninside this (./macOS) directory - Open the Xcode project and build the
XToolMacscheme