Along the way to a full release, Apple develops several variants of iOS all with a unique purpose and an entirely different set of users. Here's what they are, when they're used, and by whom.
The end-consumer version of iOS is obviously freely available to all, but there are many different stages of development and testing. Most of the unique variants of iOS are limited to use within Apple or relevant factories and vendors.
Before Apple releases its first developer beta of an operating system to registered developers, the OS has to go through a series of internal tests to ensure proper functionality. For this reason, iOS exists in several variants within Apple, all of which can exist simultaneously.
Some types of iOS are used to test the hardware components of upcoming products, while other variants are used by Apple's software development teams to create and test different OS features and enhancements.
To better illustrate Apple's practices and general approach to iOS development, here's a brief overview detailing the differences between the many OS variants used within the company.
LLDiags - What Apple uses for low-level diagnostics
Perhaps the most basic of all, this version of iOS features virtually no user interface. LLDiags is a specialized variant of iOS intended for low-level diagnostics, most commonly in factories.
Devices running LLDiags feature only a simple diagnostic image, known internally as "Diags." The diagnostic image displays a basic user interface, which can be used to perform tests or reboot the device.
When not in Diags, devices running the LLDiags version of iOS will usually boot straight into recovery mode, and will not display anything else apart from the recovery mode logo. The filesystem often contains the bare minimum, enough for the device to be able to boot, but not much else.
Apple's engineers are said to interact with these devices through a command-line interface, via a connected computer.
NonUI - What Apple's hardware engineers and calibration machines use
The NonUI variant of iOS was created as a means of separating the work done by Apple's software and hardware development teams.
The software engineering (SWE) team worked on what would eventually become the Release version of iOS, with the user interface the consumer would see. The hardware team was given something else.
The hardware engineering teams within Apple (HWTE) were not given access to the normal user interface. Instead, they relied on a make-shift version of the iPhone's operating system that had a rudimentary UI, only intended to test hardware components such as buttons, ports, cameras, speakers, and sensors.
The following two early iPhone serve as the perfect illustration of the differences between InternalUI and NonUI variants of iOS.
While Apple's software engineers worked on an iPod-esque interface with a click wheel, the hardware development team worked on a version of the operating system that featured simple squares and rectangles as buttons.
These early prototypes ran an operating system known as AcornOS, and are commonly referred to as the "Acorn Prototypes" by collectors.
As the iPhone evolved, so did the NonUI variant of its operating system. Later prototypes of the original iPhone featured a version of the operating system with the arguably inappropriately named "SkankPhone."
Early versions of SkankPhone's "About" section listed the operating system name as "OS X" rather than "iPhoneOS." This perfectly showcases the separation between Apple's hardware and software teams.
The company's internal operating systems are full of various inside jokes, crude drawings, and memes. Some versions even contain pop-culture references, like internal versions of watchOS which contain references to characters from the show "The Simpsons."
The SkankPhone app would, for instance, display different messages at the bottom of the screen. Some of them include: "Skank is the new black" and "Say hello to the Newton MessagePad 3000."
The app would later evolve into SwitchBoard, a rudimentary launcher for NonUI applications and environments such as BurnIn. SwitchBoard exists and functions independently, without the need for SpringBoard or UIkit - which are used to display the standard iOS UI on other variants of iOS.
While SkankPhone was kept around for a few more years, the app was eventually discontinued with iOS 6.0, with other internal applications taking its place. As the iPhone received more and more hardware features, its internal operating system needed more applications to test new components.
Internal NonUI operating systems also often mirror changes that affect the consumer-oriented version of iOS, known as "Release" iOS within Apple. In this regard, NonUI versions after iOS 7.0 adopt a flat look in some areas.
In terms of specific features, NonUI builds of iOS often feature a development kernelcache, development iBoot, and support multiple hardware configurations. This type of iOS can also contain references to unreleased or scrapped devices such as the N89 iPhone or J98/J99 iPad.
Over the years, Apple has created specific variants of NonUI iOS, for use in production lines or component calibration machines such as the Horizon machine. All of these OS versions still fall under the category of NonUI, which is still used within Apple and within factories.
Internal UI - What Apple's software engineers use
Arguably the most desirable, and most interesting variant of iOS is Internal UI. As the name itself implies, this type of iOS features an internal and often pre-production variant of the user interface found on iOS.
This means that InternalUI versions of iOS can contain implementations of unreleased features, unannounced products, experimental test environments or alternate design choices Apple developed.
An alternate multitasking view can be seen in an internal version of iOS 4, pictures of which were posted to a Vietnamese website in 2011.
In addition to the standard user interface, InternalUI builds of iOS often contain specialized settings which affect the appearance or functioning of the operating system. This type of iOS also comes with a large number of internal-use applications, which can contain codenames or early prototypes of new OS features.
Notably, internalUI builds of iOS contain built-in bug reporting options, which are processed through the the Radar application. To report a bug, an Apple employee would "file a radar."
The InternalUI variant of iOS usually contains support for both production-fused and development-fused iPhones, along with support for development boards and FPGAs in some instances. InternalUI builds contain debug versions of iBoot as well.
Internal UI versions of iOS also exist in a separate variant called "Desense," which often has many of the same internal applications and settings, although the contents of this type of iOS can vary quite a lot.
Every now and then, an internal build of iOS makes its way to the general public, or to communities of collectors and enthusiasts.
In early 2020, an internal version of iOS 14 from a development-fused iPhone 11 was leaked to a few individuals and eventually made its way to the press. The version contained references to AppClips, Wallpaper Collections, and Widgets.
While AppClips and Widgets both made their debut later in 2020 with iOS 14, the Wallpaper Collections feature was only introduced with iOS 16 two years later. This serves as an indicator of how careful Apple is when it comes to quality control.
VendorUI - What's used in factories for testing
While both InternalUI and the end-consumer variant iOS feature the standard iOS user interface in its entirety, the same cannot be said for VendorUI.
VendorUI is a specialized type of iOS sent out to factories and relevant vendors for quality control testing. While the software does feature SpringBoard and the key elements of the iOS UI, the operating system often does not have all default applications present.
This version of iOS is usually sent out along with a checklist of apps present within the build. Access to it is heavily restricted to prevent new feature leaks.
In March of 2024, a credible private account on X claimed that Apple had begun distributing internal builds of the VendorUI version of iOS 18.
CarrierOS - What carriers need to test functionality
CarrierOS is a variant of iOS that is often nearly identical to the versions of iOS that Apple makes available to the general public.
Distributed to carriers worldwide, this type of iOS contains the standard end-user interface along with specialized apps and utilities that may be of use to carriers.
The operating system contains applications such as "E911Tester," which is used to test the E-911 emergency call system on iPhones.
Release iOS - What the end consumer gets to experience
This is the version of iOS used by almost everyone with an iPhone. Unless you're an Apple engineer, you've most likely only seen stock versions of iOS, which Apple refers to as "Release" internally.
Developer betas, public betas and standard .ipsw files all fall under the Release category, as they do not feature any internal tools or applications.
Interestingly, internal distributions of Release iOS also exist. These distributions feature the same filesystem as publicly available versions of iOS, with the addition of development iBoot in some cases.
What does this all mean?
The existence of different variants of iOS serves as an indication of Apple's dedication to the quality of its products. New releases of the operating system go through multiple rounds of testing, even before the first developer betas are sent out in June of every year.
Apple also uses its operating systems for outgoing quality control, to ensure that new iPhones are all up to standard, and that defective units do not get shipped.
4 Comments
Very cool article, thanks for bringing it all together into one and presenting it so well.
Rumble, Soundwave, and AT Command!
“Notably, internalUI builds of iOS contain built-in bug reporting options, which are processed through the the Radar application. To report a bug, an Apple employee would "file a radar."
I wish someone wrote a book or made a documentary (Apple TV… ?) about the iPhone development process. I’d give anything to learn about the process, see the wireframes, prototypes, and everything, and hear about the challenges and breakthroughs. It’s a shame, although understandable, that Apple is tight-lipped about these things. I remember watching something on YouTube about how the keyboard interface was developed — fascinating! The iPhone is certainly the most consequential new consumer product of the 21st century, thus far. Not to mention the greatest new product launch of the era. There is much to learn from Apple’s example, if you’re an inventor, product designer, design engineer, etc.