Reminds me of Sweetpad ( https://sweetpad.hyzyla.dev/ ), which is a bit tedious to setup, XTool seems to provide a better DX, huge wish for this project to grow!
XTool – Cross-platform Xcode replacement
61–70 of 70 posts
Re: XTool – Cross-platform Xcode replacement
#62Earlier quoted context omitted.
I think you are mixing some different concepts here. It's not that this is a layer on top of Xcode/xcodebuild, it's just that Apple today happens to package everything iOS/Swift-related together with Xcode releases. So even if you couldn't care less about the Xcode IDE itself or the xcodebuild build system, you still need to have it because this is the only way for you to download / install those toolchains. Apple co…
xtool creator here, this is correct. it wouldn’t have been possible to support Linux if xtool was just a layer on top of Xcode, as Xcode doesn’t run on Linux. we only need Xcode to be installed on macOS since it bundles the iOS SDK (ie all the header files.) similarly, we ask the user to supply a copy of Xcode.xip during the setup process on Linux in order to extract the SDK. it definitely depends on your definition…
Apple has bundled everything together in a big mess.
- Only certain macOS versions can run certain XCode versions
- Only certain XCode versions contain certain SDK versions
- XCode embeds "Command line tools" which contains things like gcc, ruby, python, installed as a package, and conflicting with other versions on the machine
- Interface Builder is built into XCode and has its own compatibility story
It's a big messy blob and you can't pick-and-choose parts. You have to update your whole machine to move to the latest OS so they will let you run the latest XCode, so your app can compile on the latest platform for your users. It's not the best experience for sure. Many ecosystems have SDKs that you can download as you wish. I don't need to update my OS to download a version of the JDK for example.
That being all said, if you require users to download XCode, regardless of which part of it is necessary, i don't think you should mention "XCode free experience" or "XCode replacement".
I'm already developing a macOS app without launching the XCode GUI. I use the xcodebuild CLI that ships with XCode. My IDE is AppCode. I also use xcodebuild on CI to build the app headless. I would never call that a XCode free experience though, as i suffer from all the issues i mentionned above with version upgrades and XCode issues
Re: XTool – Cross-platform Xcode replacement
#63Earlier quoted context omitted.
xtool creator here, this is correct. it wouldn’t have been possible to support Linux if xtool was just a layer on top of Xcode, as Xcode doesn’t run on Linux. we only need Xcode to be installed on macOS since it bundles the iOS SDK (ie all the header files.) similarly, we ask the user to supply a copy of Xcode.xip during the setup process on Linux in order to extract the SDK. it definitely depends on your definition…
I'm not too familiar with the xcode dev environment; could Theos be used instead of the huge xcode bundle? As far as I know, it provides the compilers and frameworks directly.
When you use Theos outside macOS, you have to install a toolchain and SDK. The toolchain is built from LLVM + cctools, and is in fact very similar to the one we use in xtool (I maintain both.) The SDK is hosted on GitHub and I could’ve decided to use this instead of getting the user to supply a copy of Xcode, but the copyright status is iffy; there’s an argument to be made in light of Google v. Oracle but I didn’t want to take any chances.
Re: XTool – Cross-platform Xcode replacement
#64Earlier quoted context omitted.
Epic Games sure is proving to be a formidable opponent, but they might be getting a little optimistic with thinking that Fortnite will be allowed to return to the App Store; after all, while they have been squabbling over App Store policies, I don't think any of the rulings imply that Apple still can't keep specific titles banned from the App Store at their discretion. In that particular case I kinda feel like Apple…
IMHO it's a matter of principle, showing the bully he has limited power no matter how big his muscles are.
Re: XTool – Cross-platform Xcode replacement
#65Re: XTool – Cross-platform Xcode replacement
#66JetBrains used to develop AppCode: AppCode A smart IDE for iOS/macOS development AppCode is no longer available as a commercial product as of December 14, 2022. https://www.jetbrains.com/objc/
It likely doesn't help the ObjC part of that story, but they moved the Swift part out into a CLion plugin https://plugins.jetbrains.com/plugin/8240-swift Regrettably I didn't see that they did anything with the ObjC part, choosing to /dev/null it
Re: XTool – Cross-platform Xcode replacement
#67Earlier quoted context omitted.
It seems that Fleet will support building XCode apps. It looks like a big regression from AppCode. As of today Fleet doesn't compile my macOS app. I try regularly on new updates. No alternatives, unfortunately
Fleet will also most likely get abandoned as people who pay for an IDE highly prefer the older one and people who want VSCode use VSCode I also think any revival of AppCode is also dead as JetBrains is all in on Kotlin everywhere. iOS multiplatform support hit stable recently.
Re: XTool – Cross-platform Xcode replacement
#68JetBrains used to develop AppCode: AppCode A smart IDE for iOS/macOS development AppCode is no longer available as a commercial product as of December 14, 2022. https://www.jetbrains.com/objc/
It likely doesn't help the ObjC part of that story, but they moved the Swift part out into a CLion plugin https://plugins.jetbrains.com/plugin/8240-swift Regrettably I didn't see that they did anything with the ObjC part, choosing to /dev/null it
Re: XTool – Cross-platform Xcode replacement
#69Earlier quoted context omitted.
I'm not too familiar with the xcode dev environment; could Theos be used instead of the huge xcode bundle? As far as I know, it provides the compilers and frameworks directly.
I’m also one of the maintainers of Theos :) When you use Theos outside macOS, you have to install a toolchain and SDK. The toolchain is built from LLVM + cctools, and is in fact very similar to the one we use in xtool (I maintain both.) The SDK is hosted on GitHub and I could’ve decided to use this instead of getting the user to supply a copy of Xcode, but the copyright status is iffy; there’s an argument to be made…
I'm excited for the possibility of this being integrated with multiplatform frameworks like KMP. I wouldn't need to boot up my hackintosh anymore :)
Re: XTool – Cross-platform Xcode replacement
#70Earlier quoted context omitted.
It sounds like this "cross-platform xcode replacement" isn't cross-platform, and ios app developers still need macos?
But that's wrong. You don't need macOS. That's why they say "cross-platform Xcode replacement". You just need the SDK, which can be used on every platform.