Nanfeng

Notes on software development, code, and curious ideas

My First iOS App Store Submission Experience

The review process began with my first submission on July 2 and ended with approval on July 28. It took almost a month and involved four submissions and three rejections. I also took one week off during this period for personal reasons.

First submission: Guideline 4.8 — Design — Login Services

Reasons for rejection

  1. The game offered Google as a third-party login method. My understanding is that Apple requires Sign in with Apple whenever an app provides third-party login.
  2. This type of game could not be submitted through an individual developer account; it required a company developer account.

Rejection message

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Hello,
Thank you for submitting the new app, VG Poker Tour, for review. We noticed some issues that require your attention. Please see below for additional information.
If you have any questions, we are here to help. Reply to this message in App Store Connect and let us know.
Review Environment
Submission ID: 8a757069-67a3-4a21-88b5-d4467f24e64a
Review date: July 04, 2026
Review Device: iPhone 17 Pro Max
Version reviewed: 1.0.0 (6)App Review Guideline Issue
Issue Description
In order to reduce fraudulent activity on the App Store and comply with government requests to address illegal online gambling activity, we are no longer allowing simulated gambling apps submitted by individual developers.
We found that you have submitted this app under an individual account and the app includes simulated gambling features or you indicated in the Ratings section of App Store Connect that it contains gambling features. While you can no longer distribute gambling apps from this account, you may continue to submit and distribute other types of apps to the App Store.
Going forward only verified accounts from incorporated business entities may submit gambling apps for distribution on the App Store. Visit the Enrollment page to learn more about enrolling an organization in the Apple Developer Program. For information on transferring an app to another developer account, please review the App transfer overview page in App Store Connect Help.
As a reminder, the App Review Guidelines state that it is your responsibility to ensure the app complies with all legal requirements in any location where you make it available.
Guideline 4.8 - Design - Login ServicesIssue Description
The app uses a third-party login service, but does not appear to offer as an equivalent login option another login service with all of the following features:
●The login option limits data collection to the user’s name and email address.
●The login option allows users to keep their email address private from all parties as part of setting up their account.
●The login option does not collect interactions with the app for advertising purposes without consent.
Next Steps
Revise the app to offer as an equivalent login option another login service that meets all of the above requirements.
If the app already includes another login service that meets all of the above requirements, reply to App Review in App Store Connect, identify which login service meets all of the requirements, and explain why it meets all of the requirements.
Note that Sign in with Apple is a login service that meets all the requirements specified in guideline 4.8.
Resources
Learn about Sign in with Apple.
● SupportReply to this message in your preferred language if you need assistance. If you need additional support, use the Contact Us module.
●Consult with fellow developers and Apple engineers on the Apple Developer Forums.
●Provide feedback on this message and your review experience by completing a short survey.
Test on the latest betas
Betas of iOS 27, iPadOS 27, macOS 27, tvOS 27 and visionOS 27 are now available. Download the latest betas to prepare your app for upcoming software releases. Learn more about installing and using Apple beta software.

What I changed

  1. Submitted the app through a company developer account.
  2. Hid the Google login button in the game.
  3. Deleted the app from the original individual account.

Second submission: Guideline 4.3

Reason for rejection

Many developers have probably heard of Guideline 4.3. My case did not seem too serious at this stage; Apple only indicated that the app was highly similar to other apps.

Rejection message

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Hello,
We noticed this is your first app submission and want to congratulate you on joining the Apple Developer Program. We look forward to working together on your submissions.
When App Review identifies an issue with a submission, we’ll contact you with a message in App Store Connect with details about what we found and how to resolve the issue. Learn more about App Review and tips for a smooth review experience.
See below for additional information about the issues that require your attention for this submission. If you have any questions, we are here to help. Reply to this message in App Store Connect and let us know.
Review Environment
Submission ID: 42d7f395-2c6d-458a-91e3-5d9aa709336b
Review date: July 16, 2026
Review Device: iPad Air 11-inch (M3)
Version reviewed: 1.0.0 (2)Guideline 4.3(a) - Design - Spam
Issue Description
We noticed the app shares a similar binary, metadata, and/or concept as apps submitted to the App Store by other developers, with only minor differences.
Submitting similar or repackaged apps is a form of spam that creates clutter and makes it difficult for users to discover new apps.
Next Steps
Since we do not accept spam apps on the App Store, we encourage you to review the app concept and submit a unique app with distinct content and functionality.
Resources
Some factors that contribute to a spam rejection may include:
● Submitting an app with the same source code or assets as other apps already submitted to the App Store
● Creating and submitting multiple similar apps using a repackaged app template
● Purchasing an app template with problematic code from a third party
● Submitting several similar apps across multiple accounts
Learn more about our requirements to prevent spam in guideline 4.3.
● SupportReply to this message in your preferred language if you need assistance. If you need additional support, use the Contact Us module.
● Consult with fellow developers and Apple engineers on the Apple Developer Forums.
● Provide feedback on this message and your review experience by completing a short survey.
Test on the latest betas
Betas of iOS 27, iPadOS 27, macOS 27, tvOS 27 and visionOS 27 are now available. Download the latest betas to prepare your app for upcoming software releases. Learn more about installing and using Apple beta software.

What I changed

  1. Reprocessed every image used by Cocos, changing its MD5 hash and modifying pixels.
  2. Renamed every function used for communication between Cocos and native code, and renamed Objective-C resources.
  3. Applied obfuscation again, rebuilt the app with a new bundle identifier, and resubmitted it.
  4. Deleted the previously rejected build.

Third submission: Guideline 4.3(a) — Design — Spam

Reason for rejection

This Guideline 4.3 rejection was much more alarming than the previous one. Apple explicitly stated that the app was similar to apps associated with a terminated developer account.

Rejection message

1
2
3
4
5
6
7
8
9
10
11
12
13
Guideline 4.3(a) - Design - Spam
Issue Description
We noticed the app shares a similar binary, metadata, and/or concept as apps previously submitted by a terminated Apple Developer Program account.
Submitting similar or repackaged apps is a form of spam that creates clutter and makes it difficult for users to discover new apps.
Next Steps
Since we do not accept spam apps on the App Store, we encourage you to review the app concept and submit a unique app with distinct content and functionality.
Resources
Some factors that contribute to a spam rejection may include:
●Submitting an app with the same source code or assets as other apps already submitted to the App Store
●Creating and submitting multiple similar apps using a repackaged app template
●Purchasing an app template with problematic code from a third party
●Submitting several similar apps across multiple accounts
Learn more about our requirements to prevent spam in guideline 4.3.

What I changed

  1. Renamed and re-exported every Cocos prefab.
  2. Renamed libraries, all function keys used between Cocos and native code, and the files exposed by Objective-C.
  3. Changed the bundle identifier and resubmitted the app.
  4. Deleted the previously rejected build.

Reason for rejection

The App Tracking Transparency prompt did not appear. This rejection was easier to deal with because it meant the app had at least passed the automated review.

Rejection message

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Hello,

We noticed this is your first app submission and want to congratulate you on joining the Apple Developer Program. We look forward to working together on your submissions.

When App Review identifies an issue with a submission, we’ll contact you with a message in App Store Connect with details about what we found and how to resolve the issue. Learn more about App Review and tips for a smooth review experience.

See below for additional information about the issues that require your attention for this submission. If you have any questions, we are here to help. Reply to this message in App Store Connect and let us know.

Review Environment
Submission ID: ec594106-b528-4d6a-8798-7f328ae50f21
Review date: July 25, 2026
Review Device: iPad Air 11-inch (M3)
Version reviewed: 1.0.0 (1)

Guideline 5.1.2(i) - Legal - Privacy - Data Use and Sharing

Issue Description

The app privacy information provided in App Store Connect indicates the app collects data in order to track the user, including Device ID. However, the app does not use App Tracking Transparency to request the user's permission before tracking their activity.

Apps need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of users.

Next Steps

Here are three ways to resolve this issue:

- If the app does not currently track, update the app privacy information in App Store Connect. You must have the Account Holder or Admin role to update app privacy information. If you are unable to change the privacy label, reply to this message in App Store Connect, and make sure your App Privacy Information in App Store Connect is up to date before submitting your next update for review.

- If this app does not track on the platform associated with this submission, but tracks on other platforms, notify App Review by replying to the rejection in App Store Connect. You should also reply if this app does not track on the platform associated with this submission but tracks on other Apple platforms this app is available on.

- If the app tracks users on all supported platforms, the app must use App Tracking Transparency to request permission before collecting data used to track. When resubmitting, indicate in the Review Notes where the permission request is located.

Note that if the app behaves differently in different countries or regions, you should provide a way for App Review to review these variations in the app submission. Additionally, these differences should be documented in the Review Notes section of App Store Connect.

Resources

- Tracking is linking data collected from the app with third-party data for advertising purposes, or sharing the collected data with a data broker. Learn more about tracking.
- See Frequently Asked Questions about the requirements for apps that track users.
- Learn more about designing appropriate permission requests.
Support
- Reply to this message in your preferred language if you need assistance. If you need additional support, use the Contact Us module.
- Consult with fellow developers and Apple engineers on the Apple Developer Forums.
- Provide feedback on this message and your review experience by completing a short survey.

Test on the latest betas
Betas of iOS 27, iPadOS 27, macOS 27, tvOS 27 and visionOS 27 are now available. Download the latest betas to prepare your app for upcoming software releases. Learn more about installing and using Apple beta software.

What I changed

I changed when the ATT prompt appears so that it is shown on the login screen.

This was a little strange because the prompt appeared correctly in my local tests but did not appear during Apple’s review. I suspected that I had previously requested ATT permission too early. There is a common pitfall here: if another permission dialog is being displayed when the app tries to show the ATT prompt, the ATT prompt may fail to appear.

After fixing the ATT prompt timing, the app passed review.

Unfortunately, I then discovered a bug caused by my own oversight, so I had to submit the app again and begin another round with App Review.

+