February 24 2025
Building StopTheMadness Pro in Xcode is usually very fast, because my project doesn’t use any Swift. It’s a combination of Objective-C, which compiles much more quickly than Swift, and JavaScript, which doesn’t need to be compiled. However, sometimes the builds were very slow for some strange reason. Checking the Xcode build transcripts, I found that the delay was in the “Gather provisioning inputs” build phase.
This one phase took 50.6 seconds when the entire build was 56.8 seconds!
I tested with my internet disabled, and the slow builds did not occur. Obviously, though, it’s impractical to disable my internet every time I want to build and run. After all, my project is a Safari extension! I do use Little Snitch, but I had previously allowed all connections from Xcode to apple.com
, because that’s required to upload builds to App Store Connect. When I scrutinized the individual Xcode connections with Little Snitch, I saw that developerservices2.apple.com
was responsible for the slow “Gathering provisioning inputs” build phase. When I denied those connections with Little Snitch, my builds were always fast. And successful. The build phase is mostly unnecessary.
I found a thread in the Apple De
12 Comments
cratermoon
Now do Visual Studio. Give Visual Studio Code a spin, too, if you have time.
LeoPanthera
Previously: https://news.ycombinator.com/item?id=43168589
Although the title was not changed, if you don't read the actual post, it's misleading.
It makes connections to Apple when you launch it, and when you open project files.
It also makes connections when you build, although that is to be expected, since signing is required for uploading builds to the store.
It does not "constantly" phone home.
gunian
[flagged]
Boldened15
Headline buries the lede imo, should be "Xcode slows down builds by constantly phoning home". Given the walled garden nature of Apple and the app review process it's not really surprising that Xcode would be full of forced telemetry
Also not the worst thing for Apple to measure average build times or whether developers are discovering some new feature they added, that can be actually helpful for improving the product.
worik
> Or perhaps Apple believes that developers are subhuman…
From my three years of experience as a developer of iOS applications, this is the root cause.
How the mighty have fallen
ChrisArchitect
Discussion: https://news.ycombinator.com/item?id=43168589
KennyBlanken
[flagged]
exiguus
Basically everything is phoning home this days. Also vscode, chrome, brave, Thunderbird, Firefox. Also JIRA and Outlook or Teams is crazy about that.
Just run "tcpdump -i any port 53" and you can monitor it. Or use mitproxy to get detailed req and res.
Personally I use a dns block list like https://github.com/hagezi/dns-blocklists with dnmasq or dnsdist. Works great :)
EatFlamingDeath
I sincerely don't understand how devs that use macOS put up with this crap. I remember getting a Macbook M1 from the company I used to work for and the battery life was amazing, but as soon as I needed to install Xcode I just gave up. It's unbelievably bad, fuck that.
ChrisMarshallNY
Dupe: https://news.ycombinator.com/item?id=43168589 (Couple of days ago -58 comments)
dabinat
The issue here isn’t the telemetry itself but the fact that it’s making builds slower.
I think Xcode is pretty inefficient and Apple makes assumptions about computer and internet speed that mask these issues for them. I once tried opening a project on a network volume and it was unusable because for some reason Xcode is constantly using the disk, which you probably would never notice on a project stored locally on an SSD.
SheinhardtWigCo
Previous discussion: https://news.ycombinator.com/item?id=43168589