Apple Updates App Store Guidelines to Permit Game Emulators, EU Music App Links
macrumors.com
macrumors.com
What people seem to think this means: Open-ended retro game emulators like Snes9x and Dolphin are now allowed. (I don't think this is correct.)
What the change is actually doing: If you are the licensed publisher of a retro game collection, you can now offer them in one app (including perhaps downloading additional games added to the collection later) instead of splitting them into individual apps. Each game must be individually vouched for.[1]
What is not changing: "Emulators" have long been allowed if the emulated code is bundled with the app and it is officially licensed.
[1] https://developer.apple.com/app-store/review/guidelines/
"4.7 [...] You are responsible for all such software offered in your app, including ensuring that such software complies with these Guidelines and all applicable laws. [...]"
and
"4.7.4 You must provide an index of software and metadata available in your app. It must include universal links that lead to all of the software offered in your app."
And if you're going to the effort of using a separate controller, you might as well use a separate gaming device.
We're talking about Apple devices here...
Starting prices of the normal phones:
iPhone 15 - $799
iPhone 15+ - $899
Samsung S24 - $859
Samsung S24+ - $999
Makes for a pretty solid gaming* handheld, with a design that is similar to the Switch, Steam Deck, etc.
*(if you can find mobile games without awful monetization schemes)
Mmhm, I used to have a PDA [1] which had four hardware buttons below the screen and a D-pad, and that was rather nifty for that kind of games.
[1] Asus MyPal A620 – it came as part of a car navigation system which was gifted to us by some relatives. We never used the navigation part much, but because the whole thing was based on a regular Windows Mobile PDA which could run any software available, I appropriated it for myself :-)
How is this different than the one-app retro games collections that Apple has always allowed?
(1) https://toucharcade.com/2011/04/06/atari-brings-100-retro-ti... (2) https://www.engadget.com/2012-02-24-midway-arcade-brings-jou... (3) https://www.theverge.com/2017/6/21/15845580/sega-forever-ret...
I may be wrong about the bundling in terms of the collection, but I still think this is more about Apple's general stance on "stores within an app", and the rule change is folding retro game emulators in as another exception to that, and not a change primarily about emulator allowability in general.
There's no conceptual difference between interpreting SCUMM bytecode and interpreting 65816 machine code.
I submitted a DMA interoperability request for JIT recompilers, but Apple denied it on the grounds that it doesn't fall under Article 6(7) for "multiple reasons", including that JIT is only used by web browsers on iOS.
The bad news is that yuzus team is disbanded and never got the moltenVK backend done. And Ryujinx never got theirs to work on a phone.
Say, statically recompile the ROM on your PC then move the emulator-specific binary to the iOS device.
Would such an approach be permissible by Apple? Is it possible to do so while sharing the source code for the JIT layer?
I suppose the binary format must itself be natively compatible by iOS otherwise you'd need to have a JIT layer for your binary format - right?
I guess that would be illegal because you'd then need to distribute the game code.
Perhaps a toolkit that allows users to compile the emulator+rom themselves?
But then I guess Apple doesn't let users run their own unsigned binaries so that's not possible :/
JIT compilers are one of few use cases where an application absolutely needs the ability to write data to memory, mark that memory region as executable, and then execute the op codes in that memory region. On iOS, other than Safari, no application, either built in or installed via the App Store is allowed to change memory permissions from writable to executable, and that acts as a cornerstone in iOS application sandboxing.
Now there’s perfectly good argument that the security argument doesn’t really stack up anymore, given that sandboxing technologies have progressed a lot, and it should be possible to properly sandbox a JIT compiler or similar. But there’s no denying the fact that removing the ability for an application to execute arbitrary created op codes is a very good way to completely eradication a huge surface area for exploits. Especially when such restrictions are paired with static scanning of binaries before signing (which happens when any binary is produced for iOS, via Apples signing service).
All of that is to say, there is a possible world where ROM are transpiled for iOS devices (using something like Rosetta), and loaded as signed binaries via emulation wrappers. But at point you’re basically having to create your own App Store, and sign a new app for each transpiled ROM.
In short, it doesn’t seem likely we’ll see JIT powered emulators on iOS anytime soon, and, at least in this specific instance, Apple has a legitimate security reason for restricting their usage.
It's just that apple block any submissions using that API from the app store.
But if Apple was forced to allow any binary to execute, and utilise any entitlement/API, then yeah there’s nothing stopping a JIT emulator running on iOS. But I think it’s very unlikely the EU would go that far, I don’t think such actions are needed for the EU to achieve their aims (liberalisation of app economy and markets).
Basically impossible.
<script type="application/snes" src="…"/>
;)Dolphin does have the cached interpreter, which eliminates some of the decoding overhead of a traditional interpreter, but I think you could go a lot further. Convert the PowerPC instructions to a optimal bytecode and apply various optimisations to that bytecode (function inlining, constant propagation). Common pairs and sequences of instructions can be replaced with a single bytecode implementation.
Given how fast Apple's cpu cores are, I suspect it might be possible to get a optimising bytecode interpreter fast enough so GameCube and other 6th gen console emulators can run at full speed.
"Video game emulation advocates have asserted that Sony vs. Connectix established the legality of emulators within the United States"
https://en.wikipedia.org/wiki/Sony_Computer_Entertainment,_I....
"Our goal is for the Mac to be the best game machine in the world."
And a great looking new game, "Halo" from long-time Mac developer Bungie.
It's whack-a-mole- the stores sign their executables with a new certificate, Apple finds out about it, revokes the certificate. When that happens, I imagine the software signed by that certificate will no longer run on the devices the software was installed to.
I remember having a work iphone and bringing an old motorola smartphone on the plane just so I could play Zelda OOT.
I guess we’ll see soon based on what passes app review.
- hardware to dump your own cartridges is available and doesn’t require breaking copy protection (which at that point was more around locking out publishers that didn’t sign license agreements rather than unauthorized duplication), and popular older systems are fairly well understood at the interconnect level at this point
- PSX games themselves don’t use encryption to protect games, just some chicanery around CD standards so burners of the era wouldn’t make unauthorized duplication as much of an issue; additionally, the Bleem! case officially recognizes PSX emulation as legal
Once you get to the PS2/GameCube/Xbox generation, you start to run into systems that include encrypted executables that make DMCA-compliant emulators basically impossible.
However, I think an underrated difference between then and now is that you could physically put a commercial Playstation disc into a standard CD drive and read it, no console hacking required.
https://en.wikipedia.org/wiki/GD-ROM
I think what you are referring to is the fact that the Dreamcast itself didn't only read from GD-ROM- it was perfectly happy to execute code from a CD-ROM via the MIL-CD format.
> The "foot in the door" came from a seemingly obscure capability of the Dreamcast to boot not from a GD-ROM but from a CD-ROM. Originally intended to add multimedia functions to music CDs, the functionality called "MIL-CD" was never used much, accounting for a mere seven karaoke applications. [1]
Which meant if you were able to acquire a GD-ROM image, and you could repack it into the CD-ROM's max capacity of some 650MB, then you could burn it to disc and play it without any modification of your Dreamcast, at least once the other protections were defeated.
For games that actually utilized more than a CD's worth of data, usually pirates would recompress or remove images, video files and other assets to save space. So that copy of Sonic might not behave exactly the same as a genuine copy, simply by the necessity of the format (not that I know if Sonic required this sort of rework).
Fascinating post from Fabien Sanglard for this:
The MIL-CD thing reminds me of the expansion port on very early playstations which was never used officially, but allowed exploiting the console by plugging a modchip into it.
My point is, if I didn't have emulation on a computer or device that has OCR and such, I wouldn't know much about the games I do play. Even tutorial messages are text, so in many cases I wouldn't even know how to play the game, especially in more complex fighting games like Dissidia Final Fantasy. So, running games on the one portable device I do have with accessibility, my iPhone, would honestly be great. And the DS has a few fighting games at least, so thanks to the person that shared that. Now we just need PSP! And PS1 does have MK, and Soul Blade, so that'll be really fun!
Some 10 years back iTunes had an option to stream or share media over network. It was cool to stuff iMac's 3TB HDD with audio CD rips and have all this music available on an iPhone or any other iDevice connected to the same local network. I had a VPN connection from iPhone to home network and all CD rips available anywhere.
To avoid confusion: I'm talking about iTunes-specific functionality, not media files sharing. When iTunes was opened on an iMac, all iDevices in LAN automatically had all the media available through local iTunes apps. And then they "renamed" iTunes to Music...
But even during the iTunes era they made it artificially difficult to own own media. One would think (or maybe I was delusional?) that media library fully synced from desktop iTunes to iPhone iTunes serves as kind of a backup. Nope - turns out that when desktop disk dies, one can't sync media from iPhone to the new desktop disk. Desktop iTunes was happy to suggest wiping iPhone media as a sync method.
As for owning media, that was pretty easy, got a bit harder for a while and then got easy again. You can get everything you buy with no DRM and play it wherever you want for as long as you want. There are some limitations with iTunes Match AFAIK because again, recording industry/labels said no.
No you can't. Altstore does this with a hack, it enables remote debugging, which requires you to be on the same wifi network as the server.
Err, why am I flagged from this thread? - I mean seriously cool. 2018 was the hype when emulators were the thing. It's great to see such.
Around that time it was mostly N64, SNES, GB, GBA etc. Maybe even some PS1, but mostly just titles that were plausibly playable on a smaller screen or with lower resource consumption. Wouldn't be surprised if it gets attention on iOS when there is a larger public mindshare around such a topic.
This quote smells like a "self-induced problem" since they literally require developers to buy or rent their hardware to build an app and also (at least, previously) required developers to publish on the App Store. If I could build an iPhone app on my Windows machine and publish an app from my website, then their argument wouldn't make any sense.
It's one small step removed from "stop hitting yourself" logic.
> “All happy companies are diferent: each one earns a monopoly by solving a unique problem. All failed companies are the same: they failed to escape competition”
— I may be creeped out by the guy himself, but I think Peter Thiel is right about that.
You can. You just add her to TestFlight and renew the app every 3 months.
Why do developers want to publish and distribute on the App Store?
As a dev myself, my anecdotal answer is: because I can make money doing so.
Why can I make money doing so? Because Apple built trust with the users, and because they developed the tools and technologies that made their OS worth paying significantly more for similar tech specs.
Not everyone is interested in making money.
Because it's half of the market, and more depending on who you're targeting.
I worked at a shop where we were asked for Blackberry apps alongside with iOS and android apps, not because they had strong feelings about BlackBerry, but because it was 3% of their market share and it was above their cutoff for support.
because they developed the tools and technologies that made their OS
Not quite. They used quite a few FOSS to build their products then pulled the ladder up behind them. Remove the app store requirement and the market will indicate just how useful the app store monopoly is to the end user.Not only but also.
> Remove the app store requirement and the market will indicate just how useful the app store monopoly is to the end user.
Android suggests: fairly important, even though it could be replaced.
Right now there is simply no way to know whether people are interested in the AppStore itself or simply selling to people who own iPhones (which is more likely but I may be wrong).
If I were a high class furniture company and the developer building roughly half of the populations' homes could enforce that all furniture sold to their customers needs to be vetted and distributed by them, of course I would play by their rules and even sing their praise.
Apples terms (all of them) are a direct result of their ability to stifle any competition on devices their customers paid them good money for.
Nothing they do is problematic unless they are able to "my way or the highway" their rules on the hardware level.
Apple dug too deeply and greedily and they woke up the sleeping regulatory giants which are now changing the rules.
The App Store and Play Store buying software a lot easier and increased the size of the market. Similar to Steam for PC games. But I also think that Apple should probably give developers better conditions.
As a customer of Apple I selfishly prefer Apple continuing to extract service revenue from developers. Because their shareholders expect growth and that has to come somewhere and I don’t want to pay for it.
How so?
On desktop, the race to the bottom hasn't hit as hard, and customers are more willing to pay sustainable prices for software.
I don't get how you're not paying for it...assuming you're an iOS user, you bought apps and the devs passed on you the extra cost to pay Apple. Not counting for the ads you saw in the Store. You probably also bought extra space to backup your phone in iCloud, and as Apple is the only way for that.
Litteraly anything you paid on the platform went first to Apple.
Hey if those tools and technologies on the Apple App Store are so valuable, then Apple has nothing to worry about. Developers will just stay on that app store.
If, instead, other competing options are better on some metrics than Apple's, then that is a situation where developers would move off of the app store.
It seems like we will find out how valuable that app store really is soon, won't we?
So far as I can tell, "trust" is the only reason Apple has for their rules about sexual content.
Hey if Apple doesn't want sexual content on their app store, thats fine. But that isn't relevant to other app stores having that content.
I may be wrong (often am), but I can only model this as Apple thinking they have a reputation for being a "family friendly" platform and wishing to uphold that.
If so, I can see how they might consider being forced to allow a competitor that doesn't care, harmful to their reputation.
(Me? I think sex is fine and have a problem with realistic violence, and have been confused since I was 15 or so why films and TVs allow outright murder in kids' cartoons given how upset people get by even mere "wardrobe malfunctions").
Nah. It's because developers put a lot of effort in making Apple's platform great for many users.
How many people would switch to android, even if they like apple’s design better, if Apple had no apps? It’s just a farcical claim on their part.
At one point they even required all iOS apps to be written in only C, C++, Objective-C, Objective-C++, JavaScript and no other languages. They walked that back almost immediately.
I recently had a friend ask if I wanna join their YT Premium Family plan and they said it would be like 6 euro for me. Ended up asking how much they are paying as a whole and it was 32 per month and I immediatly knew that it was paid for on an iPad/iPhone, cuz even if you just go on the website on one of the devices it will show you the actual price of 24 euro.
It seems that they considered loading game images as "running executable code". So in particular what was banned was running code downloaded remotely, meaning any emulator that could download game images from the web or load game images from the filesystem was banned.
The sinister side of me wants to say that stopping emulation forces more users down the IAP/microtransaction feedback loop in order to entertain themselves. The rational side of me wants to say that Yoshi's Cookie isn't the Fortnite killer, but the whole thing feels icky to me nevertheless.
I’m not sure that ever could’ve happened given the popularity of iOS, though. Companies like Panic and Omni Group don’t have the sort of firepower it takes to compete against the sheer amount of money poured into marketing by Facebook, Google, VC-backed startups, etc.
I think the reason was that Apple didn't want to get sued by Nintendo. They use the same locked down platform strategy as consoles so it would look bad if they were complicit in circumventing other platforms' restrictions. Still a lame reason. I definitely expect some litigation related to emulators on the app store though.