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 of “replacement” in the end, but I (and most people I’ve spoken with in the iOS community) would consider “Xcode” to be the Xcode build system, user interface, and proprietary tooling. xtool doesn’t rely on any of this, not even for signing and installation. you can (read: must on Linux, may on macOS) use it with the open-source Swift and Clang toolchain + LLVM’s LLD linker and MachO tooling. Codesigning uses zsign, an MIT-licensed x-platform codesign alternative, and installation relies on the open source libimobiledevice project, which is installed by default on many Linux distributions (eg Ubuntu).
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
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/I dug more and of course they don't: "Though we don’t rely on the Xcode build system, you still need to install Xcode for the iOS SDK and toolchain"
I think they should clarify their messaging. This is not a replacement or an alternative. It's a layer on top designed for what they think is a better experience.
We have domesticated cows and wheat. Now their population has reached tremendous size. So has our population. We both need the other species to survive. We need them, and they need us.
You could definitely take the perspective that we have been domesticated. For example, plants have domesticated us by feeding us.
The app is very mature, yet it could still be improved in interesting ways.
I'm the author of AltTab (https://alt-tab-macos.netlify.app/), a popular window switcher for macOS, imitating Windows famous alt+tab shortcut. I know for a fact how hard it is to implement what you did. It looks very nice, well done!
I see you ran into the issue of not being able to detect windows from other Spaces. Apple introduced it in macOS 12.2. If you're curious, you can see the vast efforts we've deployed trying to find a workaround: https://github.com/lwouis/alt-tab-macos/issues/1324. I wish some retro-engineering genius would solve this. We haven't been lucky so far. Of course Apple could fix this all in an instant with a new API, but that's very unlikely to happen.
Thank you
For example, your crops are getting attacked by insects. It's exogenous yet if you wake up in the night to come out and kill them, you'll save more crops.
I think the underlying picture here really is that I and my co-founder are both heavily affected by air pollution in Northern Thailand and are seeing how it affects the health of thousands of people.
We believe strongly that air quality monitoring should be affordable so that people from poorer regions and countries can afford air quality monitoring and thus protect their health by knowing when the air quality turns bad. This is one of the reasons why we open-sourced our air quality designs [1] and are working with many NGOs and Universities to bring accurate low-cost air quality monitoring to underserved communities around the world.
Since we are a self-funded company we do not have pressure to maximize profit but can work under the mantra "Impact first (and profit will follow if we do a good job)."
By the way, if you work in air quality research, we are currently running a global co-location test program and are interested in additional partners [2].
Thank you for sharing this.
I'm genuinely wondering how our nose is not a good enough sensor. Are there common cases that affect large areas like the one you live in, where the pollution is not smellable?
Thank you