Mike Becky

Tag Archive for ‘iOS’

Apple’s New Rule for Emulators on iOS ➝

From Apple’s App Review Guidelines:

Additionally, retro game console emulator apps can offer to download games. You are responsible for all such software offered in your app, including ensuring that such software complies with these Guidelines and all applicable laws.

When I first saw the email announcing this change last night, I saw the word “emulators” and may have jumped to conclusions about what this would mean.

I suppose it’s still possible that emulators like RetroArch and PPSSPP would be allowed, but it seems like the rule could imply that this is just for retro game collections that allow for downloading of more games within the app. More like Sega releasing a Sonic the Hedgehog collection that utilizes emulation or a game developer that wants their homebrew NES game available on iOS.

I suspect someone will test the rule and see exactly where the line is drawn, but I get the feeling we’ll still need sideloading to have what we think of as “emulation” on iOS.

➝ Source: developer.apple.com

High-Level iOS Emulator touchHLE Aims to Preserve Old iOS Gaming Apps ➝

Alfonso Maruccia, writing for TechSpot:

There’s a new iOS emulator in town, and it wants to bring 32-bit gaming apps back into a working state on modern machines and operating systems. touchHLE is specifically designed to run games “from the early days of iOS,” with a focus on iPhone/iPod touch apps for iPhone OS 2.x. In its current state, however, the emulator doesn’t even support touch controls, at least not yet.

Born as a “full-time passion project” by a single developer in December 2022, touchHLE is radically different from traditional low-level emulators (like QEMU) as it is based on a “high-level emulator” design: the program’s simulated CPU only runs the code from an app binary and some needed iOS libraries. touchHLE takes the place of iOS, the developers explain, providing its own implementations of the system framework components like Foundation, UIKit, OpenGL ES, OpenAL, etc.

It’s a real shame that there are so many apps and games that would otherwise be completely lost to time without access to emulation. I wish Apple and other platform makers would build things with software preservation in mind.

Wouldn’t it be nice if Apple built a “Classic” mode that was built in to iOS that emulated older versions of the operating system for the purposes of running older software?

You can still see many of these applications and games if you’ve purchased on your account by navigating to Account > Purchased within the App Store. But unless you have an old device laying around, there’s no official way to install and run them.

(Via Michael Tsai.)

➝ Source: techspot.com

Emulation on iPhone

iPhone Running PPSSPP with Razer Kishi V2

Last year I wrote an about retro gaming on iOS. I’ve had a lot of fun playing games on the platform, especially through emulation. Much of what I wrote last year is still applicable today, but I thought I’d revisit the topic with a focus on the state of emulation on iOS and all of the software and accessories you’ll need to get started.

Controllers

You can get by with some games using the touch screen controls — turn-based RPGs like Pokémon come to mind — but if you’re interested in playing anything else, you’ll want to get some kind of controller. Apple has done a great job of adding support for controllers in iOS, you can use Sony’s DualSense Controller, for example — Apple even sells it on their site. I’m a huge fan of 8BitDo controllers and would highly recommend their Pro 2 controller.

These traditional controllers are all well and good if you’re going to be connecting your iPhone to a television to play games. Although, I wouldn’t recommend it unless you have an iPhone with a USB-C port. Lightning devices have notoriously bad latency in their HDMI output.

If you want to play on the iPhone’s display, though, you’ll want a controller that attaches to the device itself. This gives you a gaming experience that’s more in-line with a dedicated gaming handheld.

There are plenty of options on the market, but I think there are three clear front-runners in the space.

GameSir G8 Galileo — This controller is USB-C only, so if you’re using an iPhone with a Lightning port, it’s not going to be an option for you. I’ve also not used this one myself, however, everything I’ve seen and read has been overwhelmingly positive. Russ from Retro Game Corps mentioned in his review that, going forward, whenever anyone asks for a recommendation in this category, the GameSir G8 Galileo will be his first pick.

Razer Kishi V2 — This is available for Lightning and USB-C devices, it has the least flex of any of the controllers I’ve used — it fits on my iPhone 15 Pro like a glove and the expanding portion in the middle doesn’t bow inward toward the back of the device. It’s very close to being my favorite of the controllers I’ve tried. But I hate that the controller’s start/select/share/menu buttons aren’t symmetrical. It’s also a huge bummer that the USB-C version isn’t fully supported on iOS. The Razer Nexus app doesn’t recognize the controller and you can’t use its additional buttons on the platform at all. Hopefully a future software update will change that, but I’m not holding my breath.

Backbone One — Also available for Lightning and USB-C devices, but all of its functionality is supported on both Android and iOS. There is a bit of flex in the controller during use and the expanding portion bows in toward the back of your device, but it feels really good in the hand. I love how all of the buttons feel on the Backbone, they have a much softer press than the Razer Kishi V2 and all of the additional buttons are symmetrical. The Backbone app requires a subscription, which I’m not fond of, but it’s not something you have to use. And compared to the Razer Kishi V2 that doesn’t even work with the app on the iPhone 15, it’s a clear win for the Backbone. It’s also worth noting that there is a PlayStation edition of the controller and an official carrying case available to match both versions.

AltStore

Apple, being the restrictive little platform vendor that they are, doesn’t allow emulators on the App Store. In order to install them on your device, you’ll have to utilize sideloading. AltStore is the best method for installing and managing sideloaded applications on iOS.

You’ll want to follow the official guide for the latest installation process, but essentially, you install AltServer on your computer, use it to install AltStore on your iOS device, and you’re ready to start loading emulators on your iPhone.

You will need to login using your Apple ID throughout the process. This is used to sign the applications so they can run on your device. If you have a free Apple ID, you’ll be limited to just three signed apps at a time and they will only be useable for a week before you’ll need to re-sign them.

If you have a paid Apple Developer account, though, the limit on the number of apps is lifted and the apps will last a full year before they have to be re-signed. You can definitely get by with a free account — I’d recommend your three apps be AltStore, RetroArch, and either Limon or PPSPP — but if you want a larger assortment of systems available at all times, it may be worth considering a paid developer account.

If you choose to stick with a free Apple Developer account, you’ll be happy to know that AltStore itself is completely free to use. You can choose to subscribe to the project’s Patreon for access to beta versions of the app, but it’s not necessary unless you want to be on the bleeding edge.

Currently, the biggest feature available exclusively in the beta is the ability to add third-party sources. It’s a neat feature, for sure, but I haven’t found many sources that feel essential. Almost all of them are poorly maintained with outdated versions of apps. Because of this, I’m not sure if the Patreon is worth subscribing to just for access to the beta.

Recommended Emulators

There are a fair number of emulators available for iOS. Not nearly as many as Android or other platforms, though. Primarily because of Apple’s limitations on the App Store. But just about all of the systems you could ever want are covered.

RetroArch, Crash Team Racing for PlayStation, PPSSPP, and New Super Mario Bros. 2 for Nintendo 3DS

The following are a list of the emulators that I’m currently using and the ones that I would recommend others use as well. They’ll get you home consoles through the fifth generation and every handheld console up to and including the PlayStation Portable and Nintendo 3DS.

RetroArch — The Swiss Army knife of emulators, which will handle the bulk of the systems available. It’s a little finicky to setup — I tend to refer to Retro Game Corps’s excellent starter guide. But once it’s configured to your liking, it offers an excellent experience for PlayStation, Nintendo 64, Nintendo DS, Super Nintendo, Sega Genesis, Nintendo Entertainment System, and more.

PPSSPP — This is the best option for emulating PlayStation Portable games on iOS. RetroArch has a core that supports PSP games — based on PPSSPP — but the performance just isn’t up to par with the standalone release.

Limon — It’s still in the early days for this Nintendo 3DS emulator — there isn’t currently a way to exit a game, for example, you have to force quit the app instead. There’s definitely limited compatibility with games, but I’ve been using it to run New Super Mario Bros. 2 and it’s been great.

Other Emulators

This is by no means an exhaustive list of the remaining emulators on iOS, but they’re the ones that I’ve tried myself. I don’t recommend the first three primarily because they require the use of just-in-time compilation (JIT). This is a method for executing code that allows for more performance, but it isn’t available by default on iOS.

In order to use JIT, you have to enable it with a tool on another device — AltServer has this built in. Since the release of iOS 17, though, I haven’t been able to get JIT working at all. So unless you have better luck than I or you have an iOS device that you haven’t updated to iOS 17 yet, you’ll likely have to wait for a more robust method for enabling JIT.

DolphiniOS — An excellent release of Dolphin specifically for iOS that supports GameCube and Wii emulation. When I was able to get JIT working on my iPhone 13 Pro, it was a fantastic experience. I played many hours of Mario Kart Wii and Tony Hawk’s Underground on it. I only ran into a single game that didn’t run well — Tony Hawk’s American Wasteland — but I could probably get it to a reasonable frame rate with a bit of tweaking. If the JIT situation changes in iOS 17, DolphiniOS will be the first thing I install.

Flycast — A Dreamcast emulator available for iOS. I never ran into any compatibility issues with the games I’ve played on it. It’s a shame that there isn’t an option to run it without JIT enabled. There are plenty of low powered Android handhelds that are capable of emulating Dreamcast at the top end and the iPhone 15 Pro is significantly more powerful than those devices. I don’t know, maybe the current iPhone wouldn’t be capable of emulating Dreamcast games without JIT, but it wouldn’t surprise me if the iPhone released in a few years was able to. And in the meantime, there could be some RPGs or what have you that would be playable at lower frame rates.

Play! — A PlayStation 2 emulator with pretty pitiful compatibility. I haven’t had much luck with games I’ve tried in this emulator. The only one that seemed to run flawlessly was Spider-Man: Friend or Foe, which isn’t a particularly good game, but you could also just run the PSP version in PPSSPP instead.

The remaining emulators all work well, but have overlap with the systems supported by RetroArch:

Provenance — An all-in-one emulator akin to RetroArch. I prefer RetroArch’s interface over Provenance, though, especially if you have a large library of ROMs.

Delta — It emulates Nintendo systems and has excellent skins for touch screen controls, but RetroArch is able to emulate everything Delta supports.

MAME4iOS — An arcade emulator that I’ve spent very little time with. I’m generally not too interested in emulating arcade games, though, and the few I have enjoyed run just fine in RetroArch.

Emulation Frontend

This is the only piece of the puzzle that there isn’t a solution for on iOS. On Android you have apps like Daijisho and on PC you have apps like Launchbox. I’m not aware of anything like this on iOS at all.

The best I’ve been able to come up with is a shortcut that uses the Choose From Menu action to list each of the emulators I have installed and then opens the one I select using the Open App action.

You could just save that shortcut to your Home Screen and tap on it whenever you’d like to play a game, but if you chose a controller that has a companion app that can be launched using a button on the controller, there is an option for a more seamless experience.

If you’re using the Backbone controller, for example, you could setup an automation in the Shortcuts app that automatically runs the shortcut whenever the Backbone app is launched. Now when you want to play a game, you can attach the controller to your device, press the Backbone button, and select one of your emulators from the shortcut’s menu.

If you’ve come up with a better solution for this, though, I would absolutely love to hear about it. Feel free to reach out to me with the details.

Apple Removes TV Show and Movie Purchases From iTunes Store App in iOS 17.2 ➝

Juli Clover, writing for MacRumors:

With the launch of iOS 17.2 and iPadOS 17.2, Apple made a server side change that removes the option to purchase and access TV shows and movies from the iTunes Store app.

Attempting to access the TV Shows and Movies sections in the app directs users to the Apple TV app instead. “iTunes Movies and Your Purchases Have Moved,” reads the app’s message. “You can buy or rent movies and find your purchases in the ‌Apple TV‌ app.”

Lame. I don’t even have the TV app installed on my devices.

➝ Source: macrumors.com

iOS 17 Sideloading and USB-C in iPhone 15 ➝

Mark Gurman, reporting for Bloomberg:

iOS 17 will cause some noise beyond WWDC itself. Apple is working to overhaul the software to open up the iPhone to sideloading — the downloading of apps outside of its official store — to comply with new European regulations by next year.

If the rumors are true, Apple may be announcing an iPhone with USB-C at the same event that they’ll be releasing a version of iOS with official sideloading support.

Our pocket computers will soon be a bit more like actual computers. And I’m really glad this is an upgrade year for me.

➝ Source: bloomberg.com

Ivory for iOS ➝

Tapbots, on their upcoming Mastodon app:

Ivory is currently in Early Access, which means there are features missing and we are actively building them while you get to use the app.

If you don’t like using software with missing features, we recommend you wait until we are out of Early Access and evaluate then. But you’ll be missing out on a lot of the fun!

They’ve also published a roadmap of what they’re working on or are planning to work.

➝ Source: tapbots.com

iOS 16 Beta Features Overview ➝

A good overview of all the features in the iOS 16 beta. The new Lock Screen seems to be what everyone is talking about the most. Although I don’t care much for the font and color customizations, it will be neat to throw some widgets on my Lock Screen for more glanceable information.

➝ Source: odysee.com

WorldWideWeb ➝

A nifty little app from Icon Factory that lets you setup a quick and easy web server on your Mac or iOS device. I can’t say I have a use for this at the moment, but I’ll keep it in my back pocket in case it comes in handy in the future.

➝ Source: blog.iconfactory.com