Xcode Cloud is a CI/CD setup for compiling and signing Mac and iOS apps. It is not a web or remote development environment like some other companies offer.
Because it can be triggered by pushes into git, you could make changes to existing code from an iPad or PC and get it built. But you can’t (realistically) do anything that requires Xcode such as adding new things to your project or messing with xib files.
This is probably a controversial opinion, but it feels like Apple is trying to lock developers in to a single path of constantly upgrading hardware and getting more and more specialized in the skills required in the Apple ecosystem.
Not just developers who try to do it for a living, but the demographic that used to be called power users (and before that: hackers): the enthusiasts that install things and dig deeper and make tools for themselves and maybe make tools for others or even transition to being career developers.
It’s the developers who build the moat around the walled gardens of mobile, and enthusiasts who bring in the people in their lives. I think Apple knows this and intentionally builds new APIs (while depreciating old ones) just so they can force devs to upgrade their OS’ which in turn forces them to upgrade to the next generation of restrictive hardware and lead them further down the garden path.
I have no insight in to the workings of Apple. I only see what they show to the public. I’m comfortable being wrong about this, but I don’t think I am.
Not a controversional opinion at all but instead very obvious, and for a long time now.
At least macOS is a UNIX under the hood these days (unlike MacOS 9), which provides some 'cross-platform synergies', but looking at where Apple has been taking these UNIX roots with iOS that was probably just a lucky accident. Enjoy it while it lasts (on macOS at least) ;)
>This is probably a controversial opinion, but it feels like Apple is trying to lock developers in to a single path of constantly upgrading hardware and getting more and more specialized in the skills required in the Apple ecosystem.
That has literally been Apple’s business model since the 80s.
There isn't an Xcode for iOS, but there is an increasingly capable iOS development environment for iOS, and I expect that this cloud offering is intended to eventually complement that well.
Much of the stuff that Xcode Cloud does is automation that's ~easy with a terminal and some scripting and that many developers end up doing on their Macs, but that is hard to do in the limited computing environment that iOS offers – things like packaging apps for TestFlight with the right signing keys, compressing images, etc. By moving those processes to automation running in the cloud, Apple are making iOS development on iOS more feasible.
I can't think of a good reason Apple would want to support developers who want to publish in their (very) walled garden but aren't willing to purchase at least one macOS device. There are services which provide virtual Macs, this isn't meant to be one of them.
It's a CI/CD, not an IDE. If you want to automatically test your code on all devices in a dozen configs on multiple OS versions, you're going to need to buy some fairly expensive hardware and host it yourself, which is not exactly where the industry is going at the moment with it's "yay cloud" movement.
> I can't think of a good reason Apple would want to support developers who want to publish in their (very) walled garden but aren't willing to purchase at least one macOS device.
Those devs aren't going to purchase Apple hardware whether Apple sells them cheeseburgers or not, so its more profitable for Apple to sell them cheeseburgers.
Xcode explicitly supports running external command-line tools in a full-permission, unjailed shell; which is entirely contrary to the iPadOS permission model.
Apple's approach seems to be to use Swift packages as an alternative project type that can be shared across iPads and Macs and, most importantly, do not require support for running binaries outside of an app container.
How this evolves over time depends on Apple's opinions about their operating systems. If they were to basically hand people what amounts to a manufacturer-sanctioned jailbreak, then they could port Xcode to UIKit with all the functionality it has on MacOS, save for the lack of AppKit support. Alternatively, and more likely, what they'll do is add new app extension types to do Xcode-like things in Swift Playgrounds. So if you need to, say, use Rust code in your app; you'd literally download a Rust compiler from the App Store to do that.
Or they could do nothing and be satisfied with the hobbyist-grade, Swift-only programming environment they already ship.
"[author] has been using Xcode Cloud to compile and deploy my rcmd app switcher (https://lowtechguys.com/rcmd) for the past few months, and it’s been a great experience.
I liked that with a single “git push” I could compile, archive, deploy to TestFlight, and send for beta review. I even pushed a fix from my iPhone using Working Copy one time while I was on a train.
These are the pricing plans for those interested:
- 25 compute hours/month: Free*
- 100 compute hours/month: $49.99/month
- 250 compute hours/month: $99.99/month
- 1000 compute hours/month: $399.99/month
* Free through December 2023, then $14.99/month if you choose to subscribe at that time. "
This is interesting, because a month never contains more than 744 hours, so even if you owned your own hardware, you couldn't beat Apple's compute power with only one machine.
We've just set up our CI in it (set it up as a Gitlab runner), it seems to work fine. To add more complexity, it isn't even a native iOS app but Nativescript. I think we use it to make the Android builds as well.
For $475/month, I hope you're able to use it for more than just iOS builds.
I know I'm too hobbyist- and small-business-minded for lots of folks on HN, but that monthly fee is a mind-boggling non-starter for me. I know that cloud services are never the cheapest option and I don't want to come off as a skinflint, but AWS' Mac pricing is just absurd. Two months' rental pays for the machine outright (three, if you upgrade the RAM or storage). I wouldn't leap into running a public-facing service on a machine parked in the back corner of an office somewhere, but it's not a big deal if your CI/CD machine goes offline for a few minutes if power or data connectivity stumbles.
I’ve been developing with Xcode since at least 2005 and I still have, for some reason, never gotten used to this. It’s only autocorrect that saves me, I always instinctively type it with a capital C. Weird.
Apple took the first steps to an AWS competitor in 2010 when it started working on phone CPUs.
Apple is very unlikely to build a “general cloud” offering. This is built and sold on differentiated services (eg BigQuery, Lambda, Kinesis), not on undifferentiated compute units (ie Apple Silicon even if it is slightly cheaper for the raw hardware).
Meanwhile, every time a developer uses local inference with CoreML, that competes directly with AWS’ revenue.
Apple’s “cloud” offering will be hosted in people’s pockets, powered by electricity consumers pay for, and hardware that Apple sells for a fat profit. And they will keep empowering developers to move more compute over to “the client”.
I think that IF they were to do any kind of cloud offering, it would be services for apps - storage like Firebase, push notifications, analytics, in-app purchase management, that kind of thing.
Apple Silicon is so much more efficient on the desktop, and an AWS competitor might make it worthwhile to consider using aarm64 containers end-to-end. That would be amazing.
I'm not sure what I'm missing, but don't most cloud providers have ARM instances these days? We've been running most of our stuff on Graviton processors on AWS for some time now and it is a nice cost savings.
The pricing is in compute hours, which means that their app-integrated CI/CD offering directly competes with offerings that require you to purchase your own retail-rate AWS EC2 &co compute hours.
That sort of raises the question: What does Xcode Cloud run on?
You would assume macOS as the operating system, but is that manageable at that scale? Maybe it runs on Linux and cross-compiles? Apple do run their own data-centers, which I assume all run Linux. If there was some headless macOS version and data-center wide management framework for it, I suspect that we would have heard about it. If the Xcode Cloud runs on macOS, does that mean that Apple have some rack mounted servers based on the M1/M2 processors?
Folks at e.g. MacStadium has been managing Mac minis (running macOS) at scale for a very long time. AWS also entered the space ~2 years ago. Of course Apple can do it themselves, and more efficiently.
> You would assume macOS as the operating system, but is that manageable at that scale?
Sure, it's a unix system. You can go far with SSHing into a machine and running some commands. Also, they only very recently discontinued MacOS Server (https://support.apple.com/en-us/HT208312)
Hardware-wise, it's either a battery of Mac Minis or Mac Pros, or maybe they've made custom hardware so they can put Apple hardware in a blade server form factor.
Darwin is headless. But maybe they're running asahi, although I doubt it. To run nodes, you don't actually need a complete distribution..
All the cloud providers create custom rack servers and even silicon, so why wouldn't they have rack mounted Mx boards? Also, the Mx gives you a lot of power for per watt. Perfect use case of a DC.
They have built a few datacenters around the globe.
They’re spending 10B between 2018 and 2023 to build datacenters in the US.
They’ve been a big customer on all cloud platforms (learning). The last contract with aws is worth at least 1.5b (300m/year but growing since 2018) and ends in about 1.5 year.
Seems like a good place to save billions, and make some more by offering cloud services on efficient systems.
And they've been hiring a lot of infra people since 2020
Shouldn’t folks on iOS at least be able to access XCode Cloud
Because it can be triggered by pushes into git, you could make changes to existing code from an iPad or PC and get it built. But you can’t (realistically) do anything that requires Xcode such as adding new things to your project or messing with xib files.
Not just developers who try to do it for a living, but the demographic that used to be called power users (and before that: hackers): the enthusiasts that install things and dig deeper and make tools for themselves and maybe make tools for others or even transition to being career developers.
It’s the developers who build the moat around the walled gardens of mobile, and enthusiasts who bring in the people in their lives. I think Apple knows this and intentionally builds new APIs (while depreciating old ones) just so they can force devs to upgrade their OS’ which in turn forces them to upgrade to the next generation of restrictive hardware and lead them further down the garden path.
I have no insight in to the workings of Apple. I only see what they show to the public. I’m comfortable being wrong about this, but I don’t think I am.
At least macOS is a UNIX under the hood these days (unlike MacOS 9), which provides some 'cross-platform synergies', but looking at where Apple has been taking these UNIX roots with iOS that was probably just a lucky accident. Enjoy it while it lasts (on macOS at least) ;)
That has literally been Apple’s business model since the 80s.
Apple has been well-known as a walled garden since its inception. Some are ok with that, some aren't.
Much of the stuff that Xcode Cloud does is automation that's ~easy with a terminal and some scripting and that many developers end up doing on their Macs, but that is hard to do in the limited computing environment that iOS offers – things like packaging apps for TestFlight with the right signing keys, compressing images, etc. By moving those processes to automation running in the cloud, Apple are making iOS development on iOS more feasible.
Is it logical to do so? No but it is possible and Apple sanctioned. In fact it was featured at last years WWDC
Those devs aren't going to purchase Apple hardware whether Apple sells them cheeseburgers or not, so its more profitable for Apple to sell them cheeseburgers.
But of course that doesn't add to their monopoly profits :-)
Or even Xcode, considering how powerful iPads are these days (M1 chip, etc).
Apple's approach seems to be to use Swift packages as an alternative project type that can be shared across iPads and Macs and, most importantly, do not require support for running binaries outside of an app container.
How this evolves over time depends on Apple's opinions about their operating systems. If they were to basically hand people what amounts to a manufacturer-sanctioned jailbreak, then they could port Xcode to UIKit with all the functionality it has on MacOS, save for the lack of AppKit support. Alternatively, and more likely, what they'll do is add new app extension types to do Xcode-like things in Swift Playgrounds. So if you need to, say, use Rust code in your app; you'd literally download a Rust compiler from the App Store to do that.
Or they could do nothing and be satisfied with the hobbyist-grade, Swift-only programming environment they already ship.
"[author] has been using Xcode Cloud to compile and deploy my rcmd app switcher (https://lowtechguys.com/rcmd) for the past few months, and it’s been a great experience.
I liked that with a single “git push” I could compile, archive, deploy to TestFlight, and send for beta review. I even pushed a fix from my iPhone using Working Copy one time while I was on a train.
These are the pricing plans for those interested:
- 25 compute hours/month: Free*
- 100 compute hours/month: $49.99/month
- 250 compute hours/month: $99.99/month
- 1000 compute hours/month: $399.99/month
* Free through December 2023, then $14.99/month if you choose to subscribe at that time. "
This is interesting, because a month never contains more than 744 hours, so even if you owned your own hardware, you couldn't beat Apple's compute power with only one machine.
Deleted Comment
If you need more CI „hours“ this is a good way to go. For signing and the workflows a base subscription is maybe a good deal.
https://www.hetzner.com/dedicated-rootserver/brands/matrix-a...
Those parallel Test will get through your hours very quickly.
We've just set up our CI in it (set it up as a Gitlab runner), it seems to work fine. To add more complexity, it isn't even a native iOS app but Nativescript. I think we use it to make the Android builds as well.
I know I'm too hobbyist- and small-business-minded for lots of folks on HN, but that monthly fee is a mind-boggling non-starter for me. I know that cloud services are never the cheapest option and I don't want to come off as a skinflint, but AWS' Mac pricing is just absurd. Two months' rental pays for the machine outright (three, if you upgrade the RAM or storage). I wouldn't leap into running a public-facing service on a machine parked in the back corner of an office somewhere, but it's not a big deal if your CI/CD machine goes offline for a few minutes if power or data connectivity stumbles.
https://github.com/myspaghetti/macos-virtualbox
Deleted Comment
https://news.ycombinator.com/item?id=32386762
Deleted Comment
Apple is very unlikely to build a “general cloud” offering. This is built and sold on differentiated services (eg BigQuery, Lambda, Kinesis), not on undifferentiated compute units (ie Apple Silicon even if it is slightly cheaper for the raw hardware).
Meanwhile, every time a developer uses local inference with CoreML, that competes directly with AWS’ revenue.
Apple’s “cloud” offering will be hosted in people’s pockets, powered by electricity consumers pay for, and hardware that Apple sells for a fat profit. And they will keep empowering developers to move more compute over to “the client”.
Apple Silicon is so much more efficient on the desktop, and an AWS competitor might make it worthwhile to consider using aarm64 containers end-to-end. That would be amazing.
You would assume macOS as the operating system, but is that manageable at that scale? Maybe it runs on Linux and cross-compiles? Apple do run their own data-centers, which I assume all run Linux. If there was some headless macOS version and data-center wide management framework for it, I suspect that we would have heard about it. If the Xcode Cloud runs on macOS, does that mean that Apple have some rack mounted servers based on the M1/M2 processors?
Sure, it's a unix system. You can go far with SSHing into a machine and running some commands. Also, they only very recently discontinued MacOS Server (https://support.apple.com/en-us/HT208312)
Hardware-wise, it's either a battery of Mac Minis or Mac Pros, or maybe they've made custom hardware so they can put Apple hardware in a blade server form factor.
All the cloud providers create custom rack servers and even silicon, so why wouldn't they have rack mounted Mx boards? Also, the Mx gives you a lot of power for per watt. Perfect use case of a DC.
They’re spending 10B between 2018 and 2023 to build datacenters in the US.
They’ve been a big customer on all cloud platforms (learning). The last contract with aws is worth at least 1.5b (300m/year but growing since 2018) and ends in about 1.5 year.
Seems like a good place to save billions, and make some more by offering cloud services on efficient systems.
And they've been hiring a lot of infra people since 2020
Deleted Comment