I've had a couple of apps in the iOS and macOS stores that couldn't be accessed unless you paid for a service outside the app.
In fact, when submitting an app for review you can provide a user and password so that Apple can log in and test the private app.
>3.1.3(a) “Reader” Apps: Apps may allow a user to access previously purchased content or content subscriptions (specifically: magazines, newspapers, books, audio, music, video, access to professional databases, VoIP, cloud storage, and approved services such as classroom management apps), provided that you agree not to directly or indirectly target iOS users to use a purchasing method other than in-app purchase, and your general communications about other purchasing methods are not designed to discourage use of in-app purchase.
I think this was allowed because as someone else mentioned there are some exceptions to this rule. This was an education app which gave access to some digital books.
It isn't. Go read the guidelines again.
It's right there in black and white under the "In-App Purchases" section.
> “Trying to join Netflix?” it reads. “You can’t sign up for Netflix in the app. We know it’s a hassle. After you’re a member, you can start watching in the app.” Bizarrely, it gives no further instructions on how or where to go if you want to sign up for Netflix: no URL, no QR code, not even a hint of how to join. If you aren’t already a member, it’s a complete dead end.
That’s not a bug. It’s a function of Apple policy. With some exceptions, the company doesn’t let users pay app makers directly for their apps or digital services. They can only pay Apple, which takes a 30% cut of all revenue and then passes 70% to the developer. (For subscription services, which account for the majority of App Store revenues, that 30% cut drops to 15% after the first year.) To tighten its grip, Apple prohibits the affected apps from even telling users how they can pay their creators directly.
https://onezero.medium.com/apples-secret-monopoly-5718272c16...
It's not possible to initiate one.