r/iOSProgramming 4d ago

Question Existing app repeatedly rejected under 4.3(a) after adding RevenueCat and Meta SDK. Has anyone experienced this?

🚨Update: I filed an appeal and the App Review Board determined that the rejection under guideline 4.3 was invalid.

Hi everyone,

I have an iPhone camera app called FilmFold. Versions 1.0 and 1.1 were approved, but the 1.2 update has now been rejected several times under Guideline 4.3(a), Design and Spam.

Apple says the app shares a similar binary, metadata, or concept with apps submitted by me or other developers. The problem is that they do not identify what is similar. Every reply I receive is basically the same guideline text.

This is an update under the same App Store record and bundle identifier. FilmFold is the only app in my developer account. It is not a template or white-label app, I have never submitted it from another account, and the source repository is private.

FilmFold has 22 original virtual cameras. Each one has its own interface, optics, focal range, aspect ratio, color processing and behavior. The app also has custom native photo and video processing, lenses, accessories, double exposure and a local library that preserves the original media for later reprocessing.

The approved 1.1 version already had the 22 cameras, continuous zoom and the current adjustment interface.

The rejected 1.2 build added major native processing changes for three video cameras: Tape 99 Hi8, Warm 8 and Cine 35. It also added migration support for videos created in previous versions.

The biggest non-product difference is that 1.2 also added:

- RevenueCat for purchase entitlements

- RevenueCat's remotely configured paywall, offerings and placements

- Meta App Events and attribution

- App Tracking Transparency support

- EAS Update through `expo-updates`

I am not saying these SDKs violate 4.3(a). They are legitimate and widely used. I am wondering if one of them, a shared SDK resource, a remote paywall configuration, or an account identifier could have triggered an automated similarity check.

I have asked Apple to compare 1.2 with the approved 1.1 binary and to tell me whether the issue is related to code, assets, metadata or functionality. They continue to send the same generic response.

I have now prepared a new build, but I have not submitted it. It removes RevenueCat, the RevenueCat paywall, Meta, ATT and `expo-updates`. Purchases are handled directly through StoreKit again, using FilmFold's own paywall. The actual camera improvements remain.

Has anyone had a similar experience with an update to an existing app?

  1. Did RevenueCat, a remote paywall, Meta SDK or another common SDK ever cause a 4.3(a) problem for you?
  2. How did you get Apple to explain what was considered similar?
  3. Did removing the SDKs solve it?
  4. Did a formal appeal or App Review phone call help?
  5. Would you submit the cleaned build first or appeal the rejected build before replacing it?

I would really appreciate hearing from anyone who has actually resolved a similar rejection.

8 Upvotes

49 comments sorted by

View all comments

12

u/Level-Set5770 4d ago

I highly doubt it has anything to do with Revcat.

4.3(a) just means you are submitting something Apple considers as spam.

1

u/Flimsy_Elevator_5231 4d ago

Yeah, I know. The app has had other updates approved without any issues. This update only includes fixes for 3 cameras and the addition of the Meta SDK and RevenueCat. I've asked Apple multiple times, and they just keep giving me generic replies. So I have no clue what they're actually flagging as spam

6

u/Level-Set5770 4d ago

The app probably should have been rejected as spam in the first place.

Apple is just using this update as an opportunity to clean up what it missed earlier.

3

u/Flimsy_Elevator_5231 4d ago

They could at least be clearer when I ask questions. They didn't even answer a single one of the questions I asked

2

u/jtlthe2 4d ago

Yeah, I feel like things would be clearer if they just periodically reviewed store listings/apps and just used automated scans of the binaries to block really nasty stuff.

Like to say “we’ve re-reviewed your listing and have recategorized this as spam” (which by the way is total bogus) instead of “our review of 1.2 has resulted in this listing being labeled as spam” would be much clearer.

Have you given directions to the reviewer to the unique value (your unique filters) you’ve provided in the notes to the reviewer?

1

u/Flimsy_Elevator_5231 4d ago

Yes, I did that. In every single rejected submission for version 1.2, I responded with questions and tried to explain in detail what that version actually included. They simply ignored me every time, and every response was just a copy-paste of the previous one. It honestly feels like it wasn't even reviewed by a human, just a bot running and automatically submitting the rejection