The iOS 17.4 app marketplace flow is a disaster

April 19, 2024 5 minute read

The iOS 17.4 app marketplace flow is a disaster. While AltStore seems to have some problems itself (mostly due to a payment system that seems rushed), the majority of the problems are in Apple’s implementation.

App installation has no progress prompts. The app-marketplace:// URL scheme, used by websites to tell iOS to begin installing a marketplace app, displays zero progress. It only has the ability to display error messages, such as telling you you’re not eligible (not located in the EU), or that you need to go to Settings to allow the app to be installed. Naturally, there’s no button that takes you to Settings, nor any explanation of what you do when you’re there.

Alert on top of the home screen: Can’t Install “AltStore PAL”
You’re not eligible to install new apps from “altstore.io”. Buttons: [Learn More] [OK]

Let’s follow the process of being in an eligible country (currently being any in the European Union), though.

Alert on top of the AltStore website: Marketplace Installation Your installation settings on this iPhone don’t allow marketplaces by “AltStore, LLC” to be installed from the web. You can change this in Settings. Buttons: [Learn More] [OK]

In both prompts, the “Learn More” button takes you to this Apple Support article.

Once you’re in Settings, a followup button appears below your Apple ID name.

A button has appeared in the iOS Settings app, below the Apple ID button. It says: Allow Marketplace From “AltStore, LLC”

Tapping it displays this full-screen prompt:

A full-screen prompt in Settings: Allow Marketplace From “AltStore, LLC” You attempted to install “AltStore PAL” from “altstore.io”. Your device settings don't allow marketplaces to be installed by the developer “AltStore, LLC” from the web. Learn more… App Installation: By allowing this developer, you will be able to install their marketplaces on your iPhone. Your Data: Any installed marketplaces will be managed by the developer and may give them access to your data. Unavailable Features: Your App Store account, stored payment method, and related features, such as subscription management and refund requests, will not be available. Buttons: [Allow] [Ignore] both with a neutral grey background

Tapping Allow simply dismisses the prompt. There’s no indication of what happens next. The answer is - nothing happens. You need to go back to Safari and initiate the installation again. Then, you get another full-screen prompt, and then an alert prompt to confirm you’re really sure.

A full-screen prompt in Safari: “altstore.io” Would Like to Install an App Marketplace Any downloads, updates and purchases made on this marketplace will be managed by the developer “AltStore, LLC”. Verify the information below before installing. Learn more… There is then a description and screenshots of the app, followed by buttons: [Install App Marketplace] with blue background, [Cancel] with neutral blue text. On top of it, an alert saying Confirm App Marketplace Installation For purchases made on this marketplace, your stored App Store payment method and related features, such as subscription management and refund requests, will not be available. Buttons: [Cancel] [Continue]

The app then starts downloading, but nothing tells you that. Tapping the download button does nothing now. You just eventually think to go to the home screen and find the app.

The only way to understand what is actually going on is to watch the syslog of the device - which it should go without saying is not something intended for users to look at anyway.

The AltStore icon is now on the home screen.

Awesome, we finally got there! Uh, almost. Now you found an app you’d like to install from the marketplace, so you do so. You then get another full-screen prompt like the one above.

A full-screen prompt in AltStore: “AltStore” Would Like to Install an App Updates and purchases in this app will be managed by “AltStore”. Verify the information below before installing. Learn more… There is then a description and screenshots of the app, followed by buttons: [Install App] with blue background, [Cancel] with neutral blue text

To AltStore’s credit, I was using a slow VPN into the EU, so I don’t know if the lack of progress indication for the first few seconds is their fault or mine. But eventually it shows a progress bar.

A progress bar appears next to Delta in the AltStore UI, showing that it is being installed.

I hit what I hope is a bug in AltStore, where I’ve uninstalled Delta, but it still thinks it’s installed, so I couldn’t get a screenshot of the app installing from the home screen. However, it does indeed display progress there, as confirmed by others who have posted about their experience.

Delta app opened to its initial “No Games” screen.

Finally, the app is installed! We got there eventually.

This goes back to me being conflicted about where we’re at with this. I both don’t like AltStore working with Apple as if to show that we’re ok with this solution, but also, it is important to show how bad Apple’s solution really is.

Make no mistake, if a teenager was able to build a jailbreak that puts a Cydia icon on the home screen with a download progress bar back on iOS 4.3 (2011!), Apple can do far better with user experience here. They know what they’re doing. The sloppiness of the whole process is intentional, and AltStore needing to charge €1.50/year is a barrier Apple fully intended to force upon marketplaces.

My bet is that Apple will use the shortcomings to argue to authorities that hey, look, nobody’s using this. Users hate it, the only positive user experience is our App Store. Could you drop the regulations and lawsuits, pretty please?

This post is based on a tweet I originally posted on Twitter. I updated some of this based on information I learned later on, such as that some duplicated confirmation popups were in fact from AltStore, and I would imagine are remnants of its sideloaded version that will be cleaned up soon. This post is a review of iOS 17.4’s app marketplace functionality, not a review of AltStore, so I decided to remove those parts.

I also followed up this post with a look into the feature eligibility system, and a list of features controlled by the system.