An open API service indexing awesome lists of open source software.

https://github.com/nab138/crosscode

iOS Development IDE for windows/linux
https://github.com/nab138/crosscode

cross-platform ide ios iphone theos xcode

Last synced: 22 days ago
JSON representation

iOS Development IDE for windows/linux

Awesome Lists containing this project

README

          




    CrossCode




---

[![Build CrossCode](https://github.com/nab138/CrossCode/actions/workflows/build.yml/badge.svg)](https://github.com/nab138/CrossCode/actions/workflows/build.yml)

iOS Swift development IDE for Windows/Linux

Supports Swift 6.1 and the Swift Package Manager.

### Demo

https://github.com/user-attachments/assets/d0f23971-4711-4de5-be58-ce2e6a66523e

## Installation

CrossCode is currently in alpha. Expect bugs!

Download the latest build for your platform from [releases](https://github.com/nab138/CrossCode/releases/latest).

Check out the [Getting Started](https://github.com/nab138/CrossCode/wiki#getting-started) section of the [wiki](https://github.com/nab138/CrossCode/wiki). Also, see [Troubleshooting](https://github.com/nab138/CrossCode/wiki/Troubleshooting) and [FAQ](https://github.com/nab138/CrossCode/wiki/FAQ)

## Features

- Generate a Darwin SDK for linux from a user provided copy of Xcode 16.3 to build the apps
- Build apps using swift package manager
- Log in with your Apple ID to sign apps
- Install apps on device
- Create projects from templates
- Code editing including error reporting, autocomplete, go to definition, and other language features
- Light/dark mode and other customizations
- View and manage certificates, app IDs, and more
- View the syslog or the stdout (console) of your device/app
- Much more (and more to come!)

## Future plans

The app is currently functional but does not have all the features it should. You can see a tentative plan for the future [on trello](https://trello.com/b/QYQFfOvm/ycode)

Please note that I am one person, so development may be slow. If you want to help, PRs welcome!

## How it works

- A darwin SDK is generated from a user provided copy of Xcode 16.3 (extracted with [unxip](https://github.com/saagarjha/unxip)) and darwin tools from [darwin-tools-linux-llvm](https://github.com/xtool-org/darwin-tools-linux-llvm)
- Swift uses the darwin SDK to build an executable which is packaged into an .app bundle.
- The code to sign and install apps onto a device has been removed from CrossCode's source and moved to a standalone package, [isideload](https://github.com/nab138/isideload). It was built on a lot of other libraries, so check out its README for more info.

## Credits

- [idevice](https://github.com/jkcoxson/idevice) is used to communicate with iOS devices.
- [xtool](https://xtool.sh) has been used as a reference for the implementation of the darwin SDK generation.
- [Sideloader](https://github.com/Dadoum/Sideloader) has been heavily used as a reference for the implementation of the Apple Developer APIs and sideloading process.

### AI Usage

- Helped port small sections of code from [Sideloader](https://github.com/Dadoum/Sideloader) because I'm not familiar with dlang syntax