Does the iOS app store accept apps that don't work unless the user pays via a subscription or IAP? I'm thinking of making my camera app free to download, and let users take 20 photos, after which a dialog pops up asking for a (auto-renewing) subscription. If the user doesn't pay, the app will refuse to work. The user won't be able to take photos, or look at existing photos. The only thing in the app that will work is the payment UI.

I'm looking to understand what functionality the app needs to have without an active subscription. I do intend to regularly update the app, as the guidelines say. 

The goal is to let users see for themselves that the app is useful before I ask them to pay for it.

Where is this documented by Apple?

I read the guidelines, and they don't say that apps are required to have any functionality if the user refuses to pay. Neither do they say the opposite, that apps like mine are okay.
What you ask is exactly what happens in app review. If you are in a place to push a build for test flight review - you can get a preview of how the review team sees your app.

As long as the app is fully functional for the first 20 images, I would imagine you won't get rejected if that's the only issues the reviewer identifies. You could be in thin ice if your app simply monetizes the camera functionality - if an app seeks to make money on what the OS provides, that's grounds for a quick reject.

You can and should have one team member go over the App Review Guidelines. Have them pretend to be picky and seek to reject the app for each of the items. 


https://developer.apple.com/app-store/review/


If you are overwhelmed by the amount of guidance - start with the snapshot of common rejection reasons and run through the comic book version of the review guidelines - those highlight the most common and broad issues with app review. Once you're clear of those hurdles - a more detailed review might be good.

Nothing compares to submitting your app for review, though. Also - think of review as a 3 to 6 month process where you get to know the team and they get to know your app. The App Store is big enough now that coding for a weekend or week and then submitting for sale next week or next month is a rare event. All of those class of apps have well explored by thousands of people by now.

I doubt Apple will ever come out and say precisely what is too little functionality. That binds them and their review team. What works for the first app doesn't work for the 100th app in category. There will be gray areas and you certainly are in it. If you have an app that refuses to work at all once the trial is over, my guess is you will be rejected. I could be wrong, but if that happens you could always let the free portion be free forever (the first 20 snaps or whatever) and only lock down people that need a subscription to run it.

I've seen that work very well with low rejection rates - you are clear you need a subscription in that case, so Apple doesn't have to reject your app knowing it might cause some users heartburn if they don't realize what's paid and what's free. Best of luck with your app!