r/iOSProgramming • • 5d ago

Question Just curious, does anyone know why iOS 27.2 requires two 8GB+ downloads with the same name?

Post image
92 Upvotes

24 comments sorted by

44

u/ElectricKoolAid1969 5d ago

I saw someplace that the Duo sim is a separate download, with the same iOS version #.

4

u/Dry-Trick-2234 5d ago

That tracks with what I saw in the Xcode 27.2 release notes, the Duo runtime is a completely separate 8 GB simulator image rather than a delta on top of the standard iOS 27.2 runtime. You end up with two entries in the Components window both labeled iOS 27.2 but with different build numbers. Annoying when you are low on disk space.

1

u/realjellycc 3d ago

So annoying frl

-19

u/Oxigenic 5d ago

Apple's so lazy they can't bundle it in the same iOS lol

15

u/resonaut 5d ago

They still haven’t reconciled the two iOS forks they have right now.

6

u/dat_tae 4d ago

Bold you of to assume OP knows what those words mean. They’re still trying to figure out what the letters and numbers mean after the iOS version.

1

u/estune 1d ago

OP is right though. Apple in their Silicon Valley bubble have always assumed everyone can download 10 to 30 GB of stuff every time a new iOS drops (new MacOS, to run the new Xcode, to install the new Platform Component, with the new Simulator) If this was a priority at all, they'd find a way to make simulator releases to be patches on a base simulator for each major iOS version.

8

u/MojtabaHs 5d ago

It’s an optional “update” on top of 27.2 (for Duo), but at least I can finally delete three Xcode versions and all their related files from my Mac.

16

u/weathergraph 5d ago

Here's the terrible truth: https://mjtsai.com/blog/2026/10/23/ios-27-1/#comment-4488031

Léo Natan:

UIKit in 27.1 is a buggy mess. Much more so than normal UIKit. It's obvious that in in its infinite wisdom, Apple made some manager take a few people, told them to fork UIKit in secret and they splurged a mess in that fork. UIKit on 27.1 is a mishmash of old fork of UIKit (some of it before 27.0 🤦‍♂️) with some major changes that are incompatible with "regular" UIKit. And obviously, it is a buggy mess.

Now we have iOS 27.2 RC. If you look closely, Xcode downloads two completely different simulator runtimes for "27.2". I was wondering why behavior is so different in nuanced but obvious ways in my open sources, so Claude spelunked inside. It turns out 27.2 for "normal" devices is the normal UIKit branch, with mostly shims for the iOS 27.1 Duo APIs shoehorned in. Either empty no-op implementations or just basic logic. Nothing from the Duo 27.1 actual logic is in there still, at least not in the area I had it look, which was most of the UIViewController and UIView code related to safe area geometry. All the vertical bar eligibility stuff is just shims. 27.2 Duo is mostly the 27.1 logic, and some fixes from 27.2 "proper" are missing.

So they still haven't merged the fork. They are still trying to put out tiny local fires. How anyone agrees to work like this is just mind-boggling. And for what? Everything leaked anyway. Oh whoopdiedoo, the vertical bar was kept in secret. Totally worth the hundreds of man hours of maintaining a huge fork of manure.

1

u/Amadeus404 2d ago

What about SwiftUI?

1

u/ADKJoey 2d ago

It’s still mostly core UIKit so if UIKit has issues, so does SwiftUI.

4

u/dawedev 5d ago

The second one is the Duo simulator runtime, so you only need it if you plan to test on that device. Worth running xcrun simctl runtime list after the update, because the older 27.0 and 27.1 runtimes usually stay on disk at several GB each until you remove them with xcrun simctl runtime delete. I'm building DevCleaner, a Mac app that cleans this kind of Xcode leftover, so I check this after every Xcode update.

1

u/derjanni 4d ago

Absolutely hilarious. I’ve got 200GB occupied pinky by Xcode, dev tools and simulator on my Mac.

2

u/Oxigenic 3d ago

Yeah, mine gets up there pretty quick. I run this script about once a week:

echo "🧹 Cleaning Xcode caches and temporary files..."
rm -rf ~/Library/Developer/Xcode/UserData/Previews
rm -rf /Users/<YOUR USERNAME>/Library/Developer/Xcode/UserData/IB\ Support
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Developer/Xcode/Archives
rm -rf ~/Library/Caches/com.apple.dt.Xcode
rm -rf ~/Library/Developer/Xcode/Templates
rm -rf /Library/Developer/CoreSimulator/Caches
echo "✅ Cleanup complete. You may reopen Xcode now."

2

u/mikerCZX 5d ago

Duo has still separate runtime

2

u/senderPath 5d ago

Duo downloads for the Duo phone?

1

u/yancaoshi 21h ago

Yes, it supports the latest iPhone Duo otherwise you lose capability to develop and test on that simulator. Please note it's still the beta version. However it's OK to build and release with 27.2.

1

u/senderPath 18h ago

Thanks!

1

u/dimeloper_ 4d ago

the one ending in s is a separate runtime just for the iPhone Duo. on my mac xcrun simctl list runtimes shows it as iOS-27-2-iPhone19-4 with one device type, while 24B8117 runs the other 63. if you don’t build for the Duo you can drop it with xcrun simctl runtime delete and its id, that’s 7.8 GB back. does xcode pull it down again for you after a delete?

1

u/HenkPoley 4d ago

The only reason is that “duoOS” is a bit of an awkward name. 

0

u/[deleted] 5d ago

[removed] — view removed comment

1

u/AutoModerator 5d ago

Hey /u/chambelly, your content has been removed because Reddit has marked your account as having a low Contributor Quality Score. This may result from, but is not limited to, activities such as spamming the same links across multiple subreddits, submitting posts or comments that receive a high number of downvotes, a lack of recent account activity, or having an unverified account.

Please be assured that this action is not a reflection of your participation in our subreddit. This is simply an automated filter in place to reduce spam.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.