Affiliate Disclosure
If you buy through our links, we may get a commission. Read our ethics policy.

Apple to remove popular DOS emulator for iOS from App Store

The developer of "iDOS 2," a popular DOS emulator for iOS, on Thursday said Apple will remove the app from the App Store for breaking review guidelines.

Available since 2014, iDOS 2 emulates the DOS system on iOS, allowing users to play classic games and use other DOS applications like word processors. The app comes complete with a PC keyboard, gamepad, and mouse, each of which can be operated by Bluetooth accessories.

While updates have been relatively consistent, Apple is threatening to pull iDOS 2 from the App Store for running afoul of the company's guidelines.

As detailed in a blog post from developer Chaoji Li, Apple in a letter said the app does not comply with App Store Review guideline 2.5.2, which restricts apps from installing or running executable code.

"Specifically, your app executes iDOS package and image files and allows iTunes File Sharing and Files support for importing games. Executing code can introduce or changes features or functionality of the app and allows for downloading of content without licensing," Apple said. "Please note that while educational apps designed to teach, develop, or allow students to test executable code may, in limited circumstances, download code, such code may not be used for other purposes and such apps must make the source code completely viewable and editable by the user."

According to Li, iDOS 2 uses iTunes File Sharing to run custom games or programs, a feature that is now integral to the app's identity. Removing the integration to conform with Apple's request would be a "betrayal" to paying customers, Li says.

Li was apparently open about the app's potential to clash with rules regarding interpreted code. He reportedly included a note with every app update pointing out the use of Document Browser mode and the inclusion of iTunes File Sharing.

"We are perfectly aware of AppStore policy on interpreted code. The reason of this submission is that there are similar apps on AppStore, running js or python code. In principle, iDOS is no different," the note reads. "No security risk since the user code is running inside emulator within the app sandbox."

If and when iDOS 2 is booted from the App Store, it will mark an end to an app series that dates back to 2010. Li's first iDOS emulator was also pulled before making its way back onto the storefront in 2011. A subsequent version, the current iDOS 2, launched in 2014.



25 Comments

elijahg 18 Years · 2842 comments

So either iDOS 2 has changed something, Apple has changed the developer rules, or Apple has misinterpreted its own rules since 2014. If it is the latter, that is not the fault of the developer and Apple should therefore not punish the developer for its mistake. Changing the rules isn't much better. Either would be just another bullet in the chamber for the antitrust regulators.

dee_dee 7 Years · 130 comments

I’m a pretty big Apple fan but whoever is in charge of the App Store is a straight up idiot.   Stupid stuff like this is only contributing to the scrutiny of the App Store and literally bringing its future into question. 

larryjw 9 Years · 1036 comments

I think Apple's guideline rejecting executing code is needs to be eliminated -- an emulator is an emulator. 

In reality, executing code in an emulator is what programs do. For example, PDF files are themselves computer programs which instruct and iPad how to render a PDF visually.

Isn't programs as data and data as programs the basic principle of computing? 

elijahg 18 Years · 2842 comments

larryjw said:
I think Apple's guideline rejecting executing code is needs to be eliminated -- an emulator is an emulator. 

In reality, executing code in an emulator is what programs do. For example, PDF files are themselves computer programs which instruct and iPad how to render a PDF visually.

Isn't programs as data and data as programs the basic principle of computing? 

I understand why Apple rejects executable code - it could allow app stores within an app for example unless prevented by further guidelines (not saying that's necessarily a bad thing, but thats's likely their angle). That executed code could be further sandboxed to prevent viruses or malware. But then I think it's too broad to ban all executable code since it covers emulation too. But you're not right on how programs load data files; data is not always a program. Most data files are little more than scripts, that are interpreted by a host program. That is different to executables (which run directly on a CPU). A PDF file is not a computer program, it does not execute on the CPU but contains instructions for an interpreter to process to generate the page. Similarly to HTML. 

bleab 3 Years · 23 comments

This is straight up why I use Chromebooks instead of iPads: being able to install and run executable and arbitary code is an unconditional requirement. I mean for cheap stuff like the $80 Wal-Mart and Amazon Kindle Fire Android tablets that I just use as e-readers and for Netflix yeah fine doesn't matter. But anything that I pay real money for and use for work or school? Needs to run arbitrary code. That is why that "the tablet that can replace your PC" iPad commercials never applied to me, and the A12Z and M1 being faster than anything below an octacore Intel Core i7 didn't matter either. Can't run what I need means can't use it.