DEV Community

ayumu kitabayashi
ayumu kitabayashi

Posted on

Is there a free way to hide Instagram Reels on iPhone and keep DMs? Why iOS makes it hard

iOS doesn't let any app change the official Instagram app, so the free way to hide Reels on iPhone and keep DMs is to use Instagram's website inside an app that controls its own view, such as minulo, where hiding Reels is free and DMs, group chats included, keep working.

Disclosure up front: I'm the developer of minulo. What I say about other apps comes only from their App Store descriptions and help pages, and the page linked at the end lists the sources. The iOS part below is a general overview of how the platform works, not a deep dive into any one API.

The weekend project that never compiles

If you write iOS code, you may have had this thought: "I'll build a tiny tool that removes the Reels tab from Instagram." You open Xcode on a Saturday and soon hit the wall: there is no API for it that an App Store app could use. Here is why, and what is left.

Why an app can't touch another app

Sandboxing. Every iOS app runs in its own sandbox. It gets its own container for files, and it can't read another app's memory, inject code into it, or draw over its interface. That is a security feature: the rule that keeps other apps out of your banking app also keeps them out of Instagram's Reels tab.

Screen Time works on whole apps. Apple does give developers a way to restrict other apps: the Screen Time API, built on the Family Controls authorization, with frameworks for applying restrictions and scheduling them. With the user's permission, an app can put a shield over selected apps, categories or web domains. But the unit is the app. A shield covers Instagram as a whole. There is no way to say "shield the Reels tab but leave Direct alone," because the system doesn't know what a tab inside someone else's app is.

So inside the official Instagram app, only Instagram decides what you see, and Instagram's own app has no setting that turns Reels off for adult accounts.

What approaches are left

With the native app off limits, three approaches remain.

1. Safari extensions. Safari supports content blockers (rule lists that can block resources or hide elements by CSS selector) and web extensions (scripts that run on pages you allow). Point them at instagram.com and the Reels link can disappear. The catch is scope: they only run in Safari. Nope, for example, is a Safari extension that is completely free, with no subscriptions or in-app purchases, but it only works when you use instagram.com in Safari, not in the Instagram app.

2. Your own web view. An app can load a website in its own web view and apply its own styles and scripts to pages it loads itself. It is not modifying Instagram's app; it is rendering Instagram's website in a view it owns. This is how minulo works, and also Stillfeed, Reelmute and Awhile, which, according to their App Store pages, hide Reels for free inside their own app and keep DMs working, and charge only for extras.

3. Screen Time shields. On their own, shields are blunt: they stop the whole app, DMs included. But combined with approach 2 they are useful. Shield the official app, and give the shield screen a way back into the filtered web view.

How minulo puts these together

  • Install minulo from the App Store. There is no minulo account and no sign-up.
  • Open Instagram inside minulo and log in on Instagram's own login page. Your social media logins are saved only on that iPhone and are not sent to a minulo server.
  • Tap the gear next to Instagram and turn on the Reels and Explore tabs switch. If you want every tab except DMs gone, turn on Every tab but DMs; that's free too.
  • Optional: in the Block tab, lock the official Instagram app with Screen Time, free for up to 2 hours per block. Its block screen has an Open in minulo button.

It covers 10 networks including TikTok and YouTube. Pro is optional and adds Sleep mode, Work mode, Hard Mode, a daily limit and blocks longer than 2 hours. Hiding stays free.

Honest limits

  • The official Instagram app is not changed. That's the whole point of the sandbox section above.
  • While the official app is locked, its notifications don't arrive, and minulo sends none of its own.
  • Web view filters depend on the website. When Instagram changes its site, hidden parts can come back for a while, in any app built this way.
  • Screen Time shields from minulo are free for up to 2 hours per block. Longer blocks are part of Pro.
  • minulo runs on iPhone and Mac. There is no Android version.

Short version for the Saturday Xcode session: you can't edit the app, but you can own the view and shield the rest.

The full comparison of free options, with sources for every app: https://minulo.app/en/free-reels-blocker.html?ref=devto-en-free-1108

Top comments (0)