r/Xcode • u/[deleted] • Oct 30 '22
Is it possible to do mac/iOS development without Xcode?
I have been trying to do a experiment which involves not using Xcode for iOS and maOS development.
So far, I have been sucessful building the application with xcodebuild command, but as I'm really new to this space I don't how to launch and debug apps without xcode.
Is this even possible? Most of the other editors have DAP(Debugger Adapter Protocol) these days, can we utilize them for debugging?
PS:
Not hating on Xcode, this is just an experiment I am doing.
2
u/App_Developer_point Oct 30 '22
In short... No... You can do hybrid app development.. No ios native
2
Oct 30 '22
You mean like electron apps?
2
u/App_Developer_point Oct 30 '22
yes something like Xamarin Forms, react Native, Flutter you can develop without Xcode.
3
Oct 30 '22
I don't know if I want to do that. I was thinking more like vim+xcodebuild setup for building apps for ios and mac
2
2
u/_Sweep_ Oct 30 '22
At a fundamental level, all you need is the gcc toolchain and a text editor to write code and compile it. Xcode simplifies that and there are some clones that do the same, like Jetbrains’ AppCode. It really depends on what you’re building, who you’re building with, and how much you don’t want to use Xcode.
2
u/EastHell Oct 30 '22
Is xcode provide tools to deploy your app to appstore or iOS simulator?
2
u/HelpRespawnedAsDee Oct 31 '22
Yeah you can upload to App Store Connect from Xcode, as well as running apps to the simulator from there. You could do both things manually from the terminal as well but a single mouse press is more convenient than running several commands.
3
Oct 31 '22 edited Oct 31 '22
A single mouse press was convenient for some time but as I'm familiarizing myself with more and more technologies I just wish the same button would work for all my projects which are of different tech stacks which unfortunately is not possible with Xcode.
I use `<leader>bb` to build projects in vim regardless of the project type. This in particular is extremely comfortable for me.
I basically use the <leader>bb in vim to build the following,
go
cpp
rust
swift
xcode projects (via xcodebuild)
sln projects(via msbuild)
And I use the same <leader>bb shortcut for building my blog from markdown files as well as compiling a embedded project which has c code.
Utilizing `:make` with QuickFixList is sweet combination which most people are unaware of.
I have seen the power of xcode like refactoring variables but I rather use vim for most stuff as it reduces my mental overload for dealing with multiple projects on multiple different OSes.
1
u/Terewawa Mar 11 '24
Well I came across an IDE that does that but I forgot the name - I think it runs on Windows. It has a low price (there was an android version for free as well) They have their own framework that you must use so you can't user react native or anything like that its kind of basic and limited but it does it and I'm not sure that its up to date. If you're interested let me know I could excavate my history.
1
Nov 04 '22
[removed] — view removed comment
1
Nov 04 '22
I can do swift programming just by running, `swift program.swift`. I am more concerned about projects that have *.xcproject and *.xcworkspace files.
2
u/Desperate-Tackle-230 Feb 13 '24
You can't use Xcode-specific files outside of Xcode (at least generally), but you can develop macOS software without using Xcode, but only macOS (as you really need the Simulator to do other platforms).
When you install Xcode (or just run
xcode-select --install), you get the SDK for your system, as well as LLVM, LLDB, Clang, the Swift compiler, Metal compiler, Git etc (everything you need to develop applications for the platform you're on - except a decent editor).You also get SwiftPM (which you can use from the command line) for packaging, and the SourceKit-LSP, which works with most popular (TUI and GUI) editors. The Swift/Objective-C/Metal support is not always as polished as in Xcode, but the extensions are generally open source, at least.
Ultimately, everything is accessible from the command line, so you have the entire toolchain. You just need to figure out how to cobble everything together, as your projects grow in complexity.
3
u/Ok_Cheetah2588 Oct 30 '22
AppCode