1
0 Comments

Getting a Flutter app through App Store review without owning an iPhone (my month-long journey)

Just shipped my Flutter app (Authn8) to the App Store after a brutal month of rejections. Thought I'd share what went wrong and how I fixed it - especially for anyone building Flutter apps without access to iOS hardware.

The Setup

I built Authn8 (a team-based 2FA manager) in Flutter and was using Stripe for subscriptions via webviews. Submitted confidently. Got rejected within 24 hours.

The Rejections

Here's what Apple hit me with across multiple rejections:

  1. Webviews for payments - You can't use Stripe webviews for digital content. Must use Apple's IAP system.

  2. Missing legal agreements - There's a hidden "Paid Applications Agreement" you need to accept in App Store Connect. Not obvious.

  3. Xcode capabilities not enabled - I'd configured IAP in App Store Connect but forgot to enable the capability in Xcode itself.

  4. Subscriptions not submitted - Your IAP subscriptions need to be submitted for review alongside your app. They don't auto-submit.

The Fix: RevenueCat

Switched to RevenueCat for IAP management. The integration took about a week:

  • Configure Apple subscriptions + Google Play

  • Integrate RevenueCat SDK

  • Rip out all Stripe/webview code

  • Rebuild subscription UI natively in Flutter

The Impossible Part: Testing Without Hardware

Here's the kicker - I don't own an iPhone. Just a MacBook.

You literally cannot test IAP in the iOS simulator. My testing strategy became:

  • Make changes based on docs/Stack Overflow

  • Submit and wait 24-48 hours

  • Let Apple reviewers tell me if it works

  • Repeat

It was painful. But it worked.

Nuclear Option: Going Fully Native

Around week 3, I rebuilt every feature that used webviews directly in Flutter. My app was originally lean, leveraging my .NET 8 website for some features. Now the Flutter app is completely standalone.

More code to maintain, but zero webviews = zero rejection risk.

Final Checklist (so you don't repeat my mistakes)

Before you submit:

  • Enable IAP capability in Xcode (not just App Store Connect)

  • Accept all legal agreements in App Store Connect

  • Submit IAP products for review with your app

  • Remove ALL webviews if possible (especially for payments)

  • Get a real test device if you're doing payments

  • Budget 48 hours per review cycle

Was it worth it?

Absolutely. Seeing your app live in the App Store is incredible. But I definitely underestimated the approval process.

Timeline: 1 month from first submission to approval Rejections: 4 Test devices owned: 0 Sanity remaining: questionable

For other Flutter devs:

Anyone else gone through App Store review hell? What tripped you up? Also curious if anyone's successfully tested IAP without owning an iPhone (please tell me your secrets).

App is live now:

posted toAvatar for product Authn8
Authn8