4 ms·
Very cool! I have a feeling that the reason that Apple hasn't made their Simulator into an Emulator, is because they don't want folks digging into the substrat
by ChrisMarshallNY 2y ago
Very cool!
I have a feeling that the reason that Apple hasn't made their Simulator into an Emulator, is because they don't want folks digging into the substrate of iOS.
- astrange 2y agoDevelopers still use Intel Macs, and you can't virtualize ARM iOS on that.
- ChrisMarshallNY 2y agoYeah, I was thinking about the ARM Macs. They are common enough, now, to make it worthwhile.
- saagarjha 2y agoDoesn’t sound like a strong enough reason for the visionOS team.
- agsnu 2y agoThe overwhelming majority use ARM Macs these days
- ChocolateGod 2y agoAnother reason it was a Simulator and not an Emulator to begin with could be because a lot of iOS (or iPhone OS) components at the time were forks of existing Mac OS X libraries.
- kridsdale1 2y agoThe reason to begin with was the Mac OS was x86-32 and the iOS environment was arm. Building for intel let the ui devs have high performance by leveraging the existing network stack and graphics compositor. But most of the libraries live parallel in the sim, not using the OS ones. That wouldn’t allow you to simulate different iOS versions.
- cryptoz 2y ago> iOS (or iPhone OS) Slightly OT but the first iPhone ran OS X at launch. I think as time went by and the "OS X" running on phones diverged more and more, they renamed to iPhone OS and then iOS some time later? Something like that anyway.
- agsnu 2y agoThe first iPhone ran iPhone OS 1.0
- cryptoz 2y agoWell, I never owned one of them, so maybe I'm not supposed to comment on this. But their website was very clear: The OS on the first iPhone was OS X. https://web.archive.org/web/20070112064939/http://www.apple.com/iphone/technology/osx.html https://web.archive.org/web/20070112064939/http://www.apple....
- saagarjha 2y agoIt's about as Mac OS X as Apple Watch runs macOS.
- ChocolateGod 2y agoIt's not the same as Mac OS X or macOS, they share a common kernel, system libraries etc but the userland is very different on an iPhone or Apple Watch.
- fathyb 2y agoApple advertised the first iPhone to run OS X: https://youtu.be/VQKMoT-6XSg?t=506 https://youtu.be/VQKMoT-6XSg?t=506
- ChocolateGod 2y agoIt's not the same version of OS X that ran on Apple's computers. The "it's OS X" was more for marketing, they just share the same "core". You could argue that the iPhone currently still runs macOS if you used the same definition today. They share kernels (iirc Apple always kept the ARM patches to Darwin closed-source), BSD-based userlands and the iPhone used versions of the macs application libraries. A big difference is the iOS and macOS use different compositors.
- MuffinFlavored 2y agoI really do wonder now that both iPhones, Macs, and iPads are all "arm64" (Apple Silicon no less) how different the bootloaders are for iOS vs MacOS. Once you are past the bootloader, why would they be maintaining two different operating systems/lots of differences if they don't have to, especially since they seem to control the hardware?
- ChrisMarshallNY 2y agoVery different user experiences, and also, the Mac development ecosystem is well-established. I suspect a lot of Mac AAA apps are done in C++. Probably a lot of iOS AAA apps are still in ObjC. It is unwise to pull the rug from established developers.
- pjmlp 2y agoMore like Objective-C++, as otherwise it is lots of fun calling macOS APIs from C++. And no, C++ isn't as prevalent on Apple platforms as on other vendors. Hence why you will find out most of the C++ related documentation is for IO and Driver Kit, the Metal Shading Language dialect (based on C++14), LLVM, and that is about it. Even Metal is actually implemented in Objective-C, with Swift and C++ bindings, and the C++ bindings are really low effort versus the Swift tooling.
- saagarjha 2y agoThey are very similar. The differences are largely in that macOS generally will permit some things that iOS will not.