mirror of
https://github.com/xtool-org/xtool.git
synced 2026-11-10 01:18:01 +03:00
d4f6443f55347bec56be0101ac69fff9ab4dedfa
## What does this PR do? Fixes #254 by using `cp -R` instead of `FileManager.copyItem`. The latter tries to preserve the original owner of files instead of using the caller, which fails if you're non-root and the original files are root-owned. ## How was it tested? I was able to repro the original issue by installing an SDK as a non-root user in an xtool Docker container. Applied this patch, tried `xtool sdk install` again, and it worked. ## AI tool usage How much of this PR was AI-assisted? (check one) - [ ] **0** - No AI was used to write code - [x] **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. -->
d4f6443f55
·
2026-09-10 17:23:15 -04:00
381 Commits
xtool
Cross-platform Xcode replacement. Build and deploy iOS apps with SwiftPM on Linux, Windows, and macOS.
Overview
xtool is a cross-platform (Linux/WSL/macOS) tool that replicates Xcode functionality with open standards.
✅ Build a SwiftPM package into an iOS app
✅ Sign and install iOS apps
✅ Interact with Apple Developer Services programmatically
Getting Started
- Follow the guide to install
xtool - Create and run your first xtool-powered app by following the tutorial!
Examples
Screenshot
Command line interface
$ xtool --help
OVERVIEW: Cross-platform Xcode replacement
USAGE: xtool <subcommand>
OPTIONS:
-h, --help Show help information.
CONFIGURATION SUBCOMMANDS:
setup Set up xtool for iOS development
auth Manage Apple Developer Services authentication
sdk Manage the Darwin Swift SDK
DEVELOPMENT SUBCOMMANDS:
new Create a new xtool SwiftPM project
dev Build and run an xtool SwiftPM project
ds Interact with Apple Developer Services
DEVICE SUBCOMMANDS:
devices List devices
install Install an ipa file to your device
uninstall Uninstall an installed app
launch Launch an installed app
See 'xtool help <subcommand>' for detailed help.
Library
xtool includes a library that you can use to interact with Apple Developer Services, iOS devices, and more from your own app. You can use this by adding XKit as a SwiftPM dependency.
// package dependency:
.package(url: "https://github.com/xtool-org/xtool", .upToNextMinor(from: "1.2.0"))
// target dependency:
.product(name: "XKit", package: "xtool")
Languages
Swift
99%
Shell
0.3%
Makefile
0.2%
JavaScript
0.2%
C
0.1%
Other
0.1%
