Hi
We currently have an app being rejected due to Guideline 5.4 (VPN apps). The answer from App Review was a vague reference to the app not providing enough information to the user about data collection.
About 6 months ago we added a modal sheet that requires agreement from the user before the app will attempt to create a VPN profile via NEVPNManager APIs. This was in response to a prior rejection, and our app was subsequently approved.
Following our latest rejected update we tried to clarify if our modal was being observed and after some back and forth, the latest rejection from Apple Review states that:
we still found that your app does not sufficiently explain how the app or VPN service is using data collected from users in the purpose string of VPN Configurations prompt.
I have scoured the documentation and gone through all the Plist options within Xcode and can find no reference to a custom purpose/privacy string on the VPN configurations prompt. My understanding is that the content of that alert is fully controlled by the system.
Has anyone else encountered this, or aware of any changes to the way VPN apps should create new connection profiles?
Many thanks
App Review
RSS for tagApp review is the process of evaluating apps and app updates submitted to the App Store to ensure they are reliable, perform as expected, and follow Apple guidelines.
Posts under App Review tag
200 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
We've currently implemented the In App Review using the recently deprecated API. Calling that API in dev modes doesn't seem to work consistently as described in Apple's documentation. Can someone provide assistance or otherwise, can the documentation be updated to mostly reflect on how the API works in dev mode?
I have developed a backup application in Java. In it, users can configure whether they want it to autostart or not. If they do, a plist file is being written to ~/Library/LaunchAgents so that my app starts at login. This works perfectly so far.
I've not submitted it to the Mac App Store. But for that, it needed to be sandboxed. And with that, I had to add a "com.apple.security.temporary-exception.files.home-relative-path.read-write=/Library/LaunchAgents/" to my entitlements so that the plist file could still be written to ~/Library/LaunchAgents. However, they do not approve this.
Is there another solution to launch my application at login?
Must work with sandbox-mode
Must work from Java/Shell/... (I found "SMAppService", but this seems only available in Swift/Objective-C)
Issue:
I am facing a situation where multiple reviews from some users display the same titles, body, and author names in my admin panel, but they have different review IDs and review submission dates. For example, User A might have a review titled "Great App!" with the same content and author name, but different review IDs (123 and 456) and submission dates (June 1st and June 15th). This inconsistency appears when users update their reviews in the app or when reviews are deleted and then resubmitted through the App Store.
Reason:
When users update their feedback or delete and resubmit their reviews in the app or through the App Store, each action creates a new review entry in our database due to the different review IDs assigned by the platform, leading to these discrepancies.
Technical Details:
Fetching Reviews: I fetch the latest reviews from the App Store using a scheduled task that retrieves up to 200 reviews per hour. These reviews are retrieved using the App Store Connect API: https://api.appstoreconnect.apple.com/v1/apps/{id}/customerReviews?include=response&sort=-createdDate&limit=200.
Admin Panel Technology: My admin panel is developed using the Laravel framework (PHP).
Our Concern:
I want to ensure that our database stores only unique reviews and that our admin panel displays only unique reviews to avoid confusion and maintain data integrity.
I'm seeking guidance on how to handle this scenario correctly within my admin panel to ensure accurate representation of user reviews. Any insights or best practices on how to manage and display user reviews under these circumstances would be greatly appreciated.
Thank you.
Hallo zusammen,
ich habe eine Frage zu den Richtlinien für In-App-Pop-Ups und Push-Benachrichtigungen. Nachdem ich die Richtlinien gründlich durchgelesen habe, ist mir klar, dass zu häufige Pop-Ups und Push-Benachrichtigungen vermieden werden sollten.
Ich arbeite für die Hochbahn AG und bin für die hvv switch App zuständig. Unser Ziel ist es, mehr Kundenbewertungen zu erhalten, um unsere App kundenorientierter weiterzuentwickeln. Derzeit verwenden wir ein In-App-Pop-Up, das nach dem zehnten Öffnen der App erscheint, um eine Bewertung abzufragen. Um unsere App kontinuierlich zu verbessern, möchten wir das Pop-up gezielt nach bestimmten App-Ereignissen ausspielen, wie z. B. nach einem "Ticketkauf", einem "Abonnement des Deutschlandtickets" oder nach dem "zehnmaligen Nutzen der Auskunft".
Um die Häufigkeit der Pop-Ups zu reduzieren, möchte ich fragen, ob es möglich ist, zu programmieren, dass ein Kunde nicht mehrere Pop-Ups hintereinander erhält. Ein Anwendungsfall wäre: Ein Kunde kauft ein Deutschlandticket und nutzt danach dreimal die Auskunft, was dazu führen würde, dass er zwei Bewertungs-Pop-Ups erhält (im schlechtesten Fall kurz hintereinander). Wir möchten sicherstellen, dass wenn ein Kunde ein Deutschlandticket kauft und ein Pop-Up erhält, er beim anschließenden dreimaligen Nutzen der Auskunft kein weiteres Pop-Up erhält, es sei denn, die Ereignisse liegen mehrere Monate auseinander. Ich würde mich sehr über eine Antwort freuen und auch über eine Empfehlung, wie oft man nach einer Bewertung über In-App-Pop-Ups fragen sollte.
Außerdem möchte ich fragen, ob es möglich ist, in einer Push-Benachrichtigung einen Link zum App-Store zu integrieren, wenn wir beispielsweise ein neues Feature einführen und am Ende der Nachricht fragen, wie das Feature dem Kunden gefällt, und dann per Link in den App Store leiten.
Ich freue mich auf eine Rückmeldung. Bei Rückfragen stehe ich jederzeit gerne zur Verfügung.
Viele Grüße,
Morris
We put our app up for review 2 months ago, but since then, not once has it changed status from Waiting for Review to anything else. We tried once to cancel and resubmit, several times we wrote to support, but they just send a standard message and do not solve the problem at all. Maybe someone has faced similar problems and there are ways to solve it? Really need advice and help!
I am unable to add my app for review. I am using Xcode 16 beta 2. I tried downloading Xcode 15.4 and submitting a build using it but got a similar error after submitting for build The status of your app has changed to Invalid Binary.
I have delivery app for customer, driver and we collected location data from user.
With the app for driver, we collected location data for provide direction to deliver, tracking location on Admin to support and send nearest order request.
With the app for customer, we collect location data to show nearest restaurant in 1 km and send current location on Admin for support.
So, I still concern that the app for driver or customer should have request App Tracking Transparency permission?
I'm trying to distribute my app as unlisted through App Store Connect. However, I'm encountering a 'Cannot Sell' warning in the App Availability section. When I click on the link, it shows that the app is not available in my own country. I've already tried setting a price as suggested by other developers, but the issue persists. My app is intended to be unlisted and available in my country. How can I resolve this availability issue and ensure my app is properly distributed as an unlisted app
My country is Malawi and the app is called Standard Bank AGM Voting App
Hello,
Our account is experiencing very long review times for multiple (if not all) our applications.
Some takes up to two weeks to be reviewed, which affects our business a lot.
We often push multiple versions a week, including bug fixes and performance improvements. When we're unable to push these new versions out, our end users are affected and may experience issues with critical functionality.
Our strategy is based on the availability of fast reviews, to be able to ship updates in a timely manner, but we are greatly hindered right now.
We have not experienced review times taking this long ever.
We understand that we're moving towards summer and holiday season, but haven't received any information about these sort of delays.
Can you give any insight to why this is taking so long, and if there's any way to handle this?
Example of review times for app (1395997293) version 1.9.28
Added 1.9.28 for review on the 4th of June
Waited two weeks, still not reviewed
Added 1.9.28 for review again, different build, same content
Added 1.9.28 for review again, different build, same content - ACCEPTED
This is just one example from our account, we've seen multiple versions on multiple applications experiencing this issue.
Thank you, looking forward to your reply.
My app, which only shows ads one day after it is first launched, keeps being rejected due to Guideline 2.1 - Information Needed (App Tracking Transparency framework related).
Here is the rejection message from Apple:
Guideline 2.1 - Information Needed
We're looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 17.5.1.
Next Steps
Please explain where we can find the App Tracking Transparency permission request in your app. The request should appear before any data is collected that could be used to track the user.
If you've implemented App Tracking Transparency but the permission request is not appearing on devices running the latest operating system, please review the available documentation and confirm App Tracking Transparency has been correctly implemented.
If your app does not track users, update your app privacy information in App Store Connect to not declare tracking. You must have the Account Holder or Admin role to update app privacy information.
We have provided a detailed step-by-step guide to trigger the App Tracking Transparency.
We also attached videos demonstrating how to adjust the date to one day ahead in order to show the ads.
Here is our reply:
Dear Reviewer,
*** will start displaying ads one day after the app is first launched. To see the App Tracking Transparency permission request and subsequent ads, please follow these steps:
1. Launch *** for the first time.
2. Close and completely exit the *** app.
3. Adjust the date on your device to one day ahead.
4. Re-launch ***. You will see the App Tracking Transparency permission request.
For a visual guide, please refer to the attached videos:
https://youtube.com/shorts/07qsYuFkPBY - Demonstrates when the user allows tracking.
https://youtube.com/shorts/voQfgjAN7h0 - Demonstrates when the user does not allow tracking.
If you need further explanation, please contact me at +xxxx-xxxxxxx.
Thank you.
P.S. I frequently receive similar inquiries with each submission of my app. Could you please add a note to my app to prevent this recurring issue in future reviews? Thank you for your attention.
However, Apple continues to reject our update, despite our clear instructions for showing App Tracking Transparency.
Do you have any suggestions on what we can do next? Thank you.
I have a simple little Mac app that embeds a Python interpreter. I wrote this app almost ten years ago and completely forgot about it. Anyway I submitted an update to it with a new version of Python but it's being rejected by App review for the following reason:
Your app uses or references the following non-public or deprecated APIs:
Symbols:
• _Tcl_NewByteArrayObj
• _Tcl_ResetResult
• _Tcl_MutexLock
• _Tcl_GetBooleanFromObj
• _Tcl_SetObjResult
• _Tcl_CreateInterp
• _Tcl_ThreadQueueEvent
• _Tcl_UnsetVar2
• _Tcl_GetBignumFromObj
• _TclBN_mp_to_unsigned_bin_n
• _Tcl_ListObjLength
• _Tcl_ConditionWait
• _Tcl_GetDouble
• _Tcl_GetDouble
• _Tcl_DeleteFileHandler
• _Tcl_SetVar
• _Tcl_SetVar
• _Tcl_SetVar
• _Tcl_DoOneEvent
• _TclFreeObj
• _Tcl_Eval
• _Tcl_Eval
• _Tcl_Eval
• _Tcl_FindExecutable
• _Tcl_NewLongObj
• _Tcl_CreateTimerHandler
• _Tcl_Init
• _Tcl_ConditionFinalize
• _Tcl_GetByteArrayFromObj
• _Tcl_ListObjIndex
• _Tcl_ExprLong
• _Tcl_NewDoubleObj
• _Tcl_GetDoubleFromObj
• _Tcl_ExprString
• _TclBN_mp_read_radix
• _Tcl_DeleteTimerHandler
• _Tcl_CreateFileHandler
• _Tcl_GetVar
• _Tcl_GetVar
• _Tcl_CreateObjCommand
• _Tcl_SetVar2Ex
• _Tcl_GetStringFromObj
• _Tcl_NewStringObj
• _Tcl_GetObjType
• _Tcl_MutexUnlock
• _Tcl_DeleteCommand
• _TclBN_mp_init
• _Tcl_GetCurrentThread
• _Tcl_ExprDouble
• _Tcl_AddErrorInfo
• _Tcl_Free
• _Tcl_GetStringResult
• _Tcl_SetVar2
• _Tcl_SetVar2
• _Tcl_GetBoolean
• _Tcl_GetBoolean
• _Tcl_RecordAndEval
• _Tcl_EvalFile
• _Tcl_GetLongFromObj
• _TclBN_mp_clear
• _Tcl_ThreadAlert
• _Tcl_ExprBoolean
• _Tcl_DeleteInterp
• _TclBN_mp_unsigned_bin_size
• _Tcl_AttemptAlloc
• _Tcl_GetObjResult
• _Tcl_GetWideIntFromObj
• _Tcl_NewListObj
• _Tcl_ConditionNotify
• _Tcl_NewBooleanObj
• _Tcl_SplitList
• _Tcl_EvalObjv
• _Tcl_GetThreadData
• _Tcl_GetVar2Ex
• _Tcl_NewWideIntObj
• _Tcl_NewBignumObj
• _Tcl_ListObjGetElements
• _Tcl_GetString
• _Tcl_GetString
• _Tcl_GetString
The use of non-public or deprecated APIs is not permitted on the App Store, as they can lead to a poor user experience should these APIs change and are otherwise not supported on Apple platforms.
I read online that this is a sort of a widespread issue right now with apps that embed Python (would share links but then my post will have to be approved by a moderator). Anyone have a workaround?
I created an App. This app has been approved and is in distribution. Recently, I decided to change the name of the app which required me to create a whole new distribution, SKU, bundle ID, etc. I copied all the assets codebase of this already approved app to a new bundle and I am hitting a brick wall on approval.
My app is continuing to be rejected for violating Section 4.8 (Login Services) for having a button on the log-in page that fetches the users Gmail address from the device and uses my own API for authentication and logging in.
We have gone back and forth 10+ times with me explaining how this is not in violation per Section 4.8 language here: "Another login service is not required if: Your app exclusively uses your company’s own account setup and sign-in systems."
Each time I submit the app for review the "reviewer" continues to just copy and paste the same template language with a couple of screenshots showing me my own app.
Despite my efforts to prove and illustrate how this continues to be in check with Apple's guidelines, I must add that this is an exact copy and paste from another app that I have. I'm honestly trying to change the name, SKU, and Bundle ID of an existing app that is already approved (with the same login, etc.).
This has become moderately frustrating and unhelpful leading to a poor experience. Can someone with Apple give me more information than continuing to regurgitate the same template language.
Dear Reviewer,
I am writing to express my concern regarding the extended review time for my app. (App ID: 6503052240)This product has been under review for a week and there has been no response. In order to smoothly carry out the subsequent promotion plan, we hope that this product can be launched as soon as possible.
I understand that there can be varying factors affecting review times, but I would greatly appreciate any information or updates you could provide regarding the status of my app's review.
Thank you for your attention to this matter. I look forward to your prompt response.
Dear Apple Review Team,
I hope this message finds you well. I am writing to express my concern regarding the extended review time for my app. The review process for this submission has now exceeded three months, which is significantly longer than what I have experienced in the past.
Given the usual efficiency of the review process, this extended delay is unexpected and has started to impact our release schedule and user experience. I understand that there can be varying factors affecting review times, but I would greatly appreciate any information or updates you could provide regarding the status of my app's review.
Thank you for your attention to this matter. I look forward to your prompt response.
App ID: 6479209268
Reason provided by the reviewer:
We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.
Review device details:
Device type: iPad Air (5th generation) and iPhone 13 mini
OS version: iOS 17.5.1
apple crash log
However, the app we downloaded through TestFlight runs normally on all systems without any issues. May I ask what could be the reason for this?
I didn’t see any mention on whether there’s an upper limit on the number of subscription groups an app can offer. Is there an upper limit? To be compliant with 3.1.1 and 3.1.3(b), I would need tens of thousands of subscriptions groups.
Dear App Review: We are an e-commerce shopping software, and we regularly update new features every month.
We have been waiting for nearly 10 days for the new update version released on June 19th. Now the review status remains in the review status.
According to the experience of the past two years, the review of the updated version usually takes about 2-3 days. We are confused about the extension of this review time and are worried about whether there is any problem with our App, causing the current situation.
Our users have been anxiously asking us when to update new features, and they are very eager to use them.
Apple ID of the App: 905869418 Looking forward to your reply, thank you!
Hello fellow developers,
I'm releasing my first app which I worked on for a whole year. And the only thing left to resolve on App Review, is this:
**Guideline 3.1.2 - Business - Payments - Subscriptions
Your app uses auto-renewable subscriptions, but it does not clearly describe what the user will receive for the price.
Next Steps
To resolve this issue, please revise the details of your subscription to clearly describe what the user will receive for the price.**
I've tried multiple reiterations of how my app offers my two subscription options: Monthly or Annually.
The whole app is only available through paid subscriptions. Meaning the user can only see the 'login' screen, 'FAQ' screen, 'create account' screen, and 'choose subscription' screen without a subscription.
I'm attaching an image of the 'choose subscription' screen which is the problem of the app review.
I've described the features the user will benefit from. And both subscriptions are visible with price and time period.
Thank you for your attention and I'm looking forward to some much needed help.
Sincerely,
Empatia developer
Hi,
Im trying launch a new version of my game "Game Mania World - Multiplayer", but after upload a new build, it appear on TestFlight of iOS and tvOS, don't have any issue, but on inflight it don't show.
What i need do? It is a bug on Apple inflight panel?
Thanks.