App Review

RSS for tag

App 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

Please help! looking for the changes in the App store submission build
Hello, I am very new to the building IOS app and donot know all the functionality... I was trying to publish app on apple store, but it got rejected due to following reason (reasons mentioned in the next section). Can you please guide me what changes are required in the build files? (Tried attaching ZIP file of project build, but unfortunately ZIP file don't allow to attach) Sorry for the noob behaviour, but not quite sure what to change :( Thanks for your valuable time! Regards. iOS App 1.0App Version Rejection Reasons: 4.2.0 Design: Minimum Functionality 5.2.1 Legal: Intellectual Property - General Details: Guideline 4.2 - Design - Minimum Functionality Your app provides a limited user experience as it is not sufficiently different from a mobile browsing experience. As such, the experience it provides is similar to the general experience of using Safari. Including iOS features such as push notifications, Core Location, and sharing do not provide a robust enough experience to be appropriate for the App Store. Next Steps: To resolve this issue, please revise your app to provide a more robust user experience by including additional native iOS functionality. If you cannot - or choose not to - revise your app to be in compliance with the App Store Review Guidelines, you may wish to build an HTML5 web app instead. You can distribute web apps directly on your web site; the App Store does not accept or distribute web apps. For more information about creating web apps, refer to the Configuring Web Applications section of the Safari Web Content Guide. For a description of the HTML elements and attributes you can use in Safari on iPhone, check out Safari HTML Reference: Introduction. Guideline 5.2.1 - Legal - Intellectual Property We noticed that your app was created from an app generation service or a commercialized template, but does not appear to be directly submitted by the owner or provider of the business, brand, or service. In order to protect Apple users from dealing with unauthorized parties, we require documentation of your relationship with the provider of the goods or services in your app. Next Steps: To resolve this issue, this app must be submitted by the owner of the business or organization for which the app has been designed under its own Apple Developer Program account. Alternatively, you may provide documentation that shows your ownership of the business or organization for which the app is designed. If you choose to submit documentation, it should come from a governmental authority or other reputable source of business registration for your country or region. Please ensure that this documentation clearly: Identifies you as the owner of the entity Includes relevant signatures and dates Provides details explaining your affiliation with the business or entity providing the goods or services in your app Please note that providing documentation of your rights to include third-party content within your app is not sufficient to resolve this issue. Once we have reviewed your documentation and confirmed its validity, we will proceed with the review of your app. Resources For information on transferring an app to another developer account, please review the App transfer overview page in on App Store Connect Help. For new apps, you will need to ask your client to enroll in the Apple Developer Program and submit this app under its own Apple Developer Account.
2
0
380
Sep ’23
Linking StartView with ContentView
Hello everyone, I'm attempting to incorporate a button in my StartView that will lead directly to ContentView without the intermediate step of using a navigation view. I want StartView to seamlessly transition into ContentView. Thank you very much in advance! import SwiftUI struct StartView: View { @State private var isQuizStarted = false @Environment(.presentationMode) var presentationMode var body: some View { VStack { Text("Radiology Core Prep Q&A") .font(.headline) .padding() Image("cxr") .resizable() .aspectRatio(contentMode: .fit) .frame(height: 325) } } } struct StartView_Previews: PreviewProvider { static var previews: some View { StartView() } }
0
0
374
Sep ’23
Is it possible to remove the watch target of a released app and release an update without the watch app?
Hello. I found out that it is possible to remove the watch target from an iOS project to remove the support for the watch. What I was not able to find out is what impact this has on the publishing side. Will App Store Connect accept the upload of the new version or will it throw an error because the watch target is missing? If this is possible, should I expect problems with the review?
0
0
208
Sep ’23
Confusion on how to show as expected developer name at bottom of app name
I have used one of my company's apple id which is organization type to publish an app for my client. My client also has apple id which is organization type. My role in client's apple id's team is App Manager. Whenever I publish an app, it shows my company's name at bottom of the app name in app store. but my client wants there company's name as developer of the app. For your kind information I have publish other two apps for my two clients. My role for their team is App Manager. But at bottom of their app name I found their company's name as developer. I follow the same process for publishing. but unfortunately every time in app store there appear my company's name as developer for this specific app. Please help me by providing information about how I can successfully set my client's company name as a developer for this specific app. Also please tell me how can I see my client's apple id's developer name. I did not found this details anywhere when they share their access for their apple id. sorry for bad English. Thanks in advance
0
0
169
Sep ’23
App Rejection for Astrology App
Hello Apple Developer Community, I hope this message finds you well. I recently submitted an astrology-related app to the App Store, and it was rejected with the following reason: "Your app primarily features astrology, horoscopes, palm reading, fortune telling, or zodiac reports. As such, it duplicates the content and functionality of many other similar apps currently available on the App Store." I would like to seek some clarification and guidance on how to address this issue and bring my app in compliance with Apple's guidelines. I understand that there are similar apps available, but I believe my app offers unique and valuable features that differentiate it from others. Specifically, I would like to know: What criteria does Apple use to determine whether an app is considered duplicative of others in the same category? Are there any specific guidelines or best practices to follow when submitting astrology or similar apps to ensure they are approved? Is there a way to highlight the distinctive features of my app that make it unique and provide a better user experience compared to other similar apps? Are there any precedents or examples of successful astrology apps that were approved on the App Store, and if so, what factors contributed to their approval? I want to ensure that my app complies with Apple's policies and provides value to users while avoiding any issues related to duplication. Any insights or guidance on this matter would be greatly appreciated. Thank you for your time and assistance. Best regards,
2
2
811
May ’24
Query about "Sign in with Apple" and Handling "Hide My Email" Option
I am working on a financial application that falls under Indian jurisdiction, which has specific regulations prohibiting the use of relay or proxy emails for sign-up processes. Given that the "Hide My Email" feature in "Sign in with Apple" provides a relay email, I'm trying to understand how I can remain compliant with these regulations while offering "Sign in with Apple" as a sign-up option. My proposed flow: Allow users to use "Sign in with Apple" for authentication. Check if the user has opted for the "Hide My Email" feature. If they have, show an error message explaining the regulatory restriction and prompt them to either: a) Use "Sign in with Apple" without the "Hide My Email" option OR b) Use our standard "Sign up with Email and Password" flow. I would like to understand if such an approach is acceptable according to Apple's guidelines. Would there be any issues or recommendations from Apple's side on implementing this flow? Thank you for your assistance and guidance!
1
0
816
Sep ’23
Account Deletion Requirement in B2B apps
We'll be releasing a B2B app next year, this app will be used as part of the employees job. In guidelines section 5.1.1 (V) "If your app doesn’t include significant account-based features, let people use it without a login. If your app supports account creation, you must also offer account deletion within the app." A user does not create an account through the app. An account is created for every employee by the client. A user will login via their employee id. This account is controlled by the client. Any and all data generated by the employee is owned by the client as its business data and data must be linked against whoever created (eg to pay commission to employees for the sales they made) So an account exists but the guidelines say "If your app supports account creation, you must also offer account deletion within the app." Since a user cannot create an account themselves, the account deletion requirement isn't relevant here. Is my understanding of the guidelines correct? Or is there another section that would be applicable here?
1
0
253
Sep ’23
App rejected based on 5.1.1 guidelines
My app was rejected because I use the word 'Enable' on a button, which triggers the system permissions request. I've attached below the the rejection reason, along with the screenshot they provided. I made an appeal for this rejection last week, but haven't heard anything since. So I thought I'd ask for opinions. My issue with the rejection is that not only can I not find any violation of Privacy guidelines, but the suggestion from the reviewer is worse and would be a confusing UX. My flow is a typical onboarding flow, describing features and asking for permissions up-front to ensure the app works properly from the start - something lots of apps do. Sure it could be improved but this is the first version & release. Does anyone have any thoughts on this issue, or even a better suggestion than the one the reviewer provided?
1
0
520
Sep ’23
App Stuck in "Processing to Available" for 5+ days
Hello all. Our recent app submission (first submission - launching in app store for first time) was approved last Thursday and published immediately after. We submitted it for publishing shortly after but it has been stuck in "Processing to Available" for more than 5 days since Thursday with the yellow box next to it for all 175 regions/countries. As per the Support Guide Website, we reached out to Apple Support over email on Friday (after 24 hours) and have yet to hear back from them. Does anyone have any suggestion on what else we should be trying/doing/contacting?
3
0
956
Sep ’23
Business model which uses In app purchase as well as person to person payment (offline) to access premium features of application.
We are providing in-app purchase subscriptions to our users in our application to view some content/tutorials. Along with that, we are providing offline in-person training to some users and they will pay us offline. We want to provide access to all the content/tutorials of the application to those in-person trained users for a certain duration. After that duration, if they want to continue using the app, they will make in-app purchases and subscribe through the application. There can​ also be a situation where some existing subscribed application users can ask for in-person training and pay offline which makes them eligible for access to the application’s content/tutorials. By doing this, Are we violating any Apple policy or guidelines? If let’s say our app gets approved and Apple get to know about this later what can be the penalty?
0
0
250
Sep ’23
App Submission cancellation stuck in processing
I canceled my submission while the app was waiting for review, but it was stuck in the processing status for hours, and now it is still processing, and the app status is still waiting for review. And in the meantime, I need to submit my product Ids with the binary, but because of the last rejection, the product IDs are all stuck in the developer action needed status. How shall I deal with the above situation, and also if there is a phone call service for the developers now, which is really needed when meeting such unusual cases?
0
0
291
Sep ’23
App Crashes On Launch in some iphone(iOS 17)
My app keeps getting crashed for the same reason in some iphone(iOS 17) and I need help. ` "lastExceptionBacktrace" : [ {"imageOffset":972256,"symbol":"__exceptionPreprocess","symbolLocation":164,"imageIndex":10}, {"imageOffset":179200,"symbol":"objc_exception_throw","symbolLocation":60,"imageIndex":7}, {"imageOffset":1516452,"symbol":"-[NSException initWithCoder:]","symbolLocation":0,"imageIndex":10}, {"imageOffset":195548,"symbol":"CA::Layer::set_position(CA::Vec2 const&, bool)","symbolLocation":168,"imageIndex":19}, {"imageOffset":195340,"symbol":"-[CALayer setPosition:]","symbolLocation":52,"imageIndex":19}, {"imageOffset":195204,"symbol":"-[CALayer setFrame:]","symbolLocation":396,"imageIndex":19}, {"imageOffset":409656,"symbol":"__26-[_UILabelLayer setFrame:]_block_invoke","symbolLocation":56,"imageIndex":12}, {"imageOffset":409388,"symbol":"-[_UILabelLayer _setFrameOrBounds:settingAction:]","symbolLocation":60,"imageIndex":12}, {"imageOffset":426392,"symbol":"-[_UILabelLayer setFrame:]","symbolLocation":104,"imageIndex":12}, {"imageOffset":104744,"symbol":"-[UIView _backing_setFrame:]","symbolLocation":240,"imageIndex":12}, {"imageOffset":97808,"symbol":"-[UIView(Geometry) setFrame:]","symbolLocation":296,"imageIndex":12}, {"imageOffset":106944,"symbol":"-[UILabel setFrame:]","symbolLocation":112,"imageIndex":12}, {"imageOffset":16705216,"symbol":"-[UITableViewHeaderFooterView layoutSubviews]","symbolLocation":220,"imageIndex":12}, {"imageOffset":209368,"symbol":"-[UIView(CALayerDelegate) layoutSublayersOfLayer:]","symbolLocation":1528,"imageIndex":12}, {"imageOffset":424072,"symbol":"CA::Layer::layout_if_needed(CA::Transaction*)","symbolLocation":500,"imageIndex":19}, {"imageOffset":221860,"symbol":"-[UIView(Hierarchy) layoutBelowIfNeeded]","symbolLocation":308,"imageIndex":12}, {"imageOffset":16700796,"symbol":"-[UITableViewHeaderFooterView _sizeThatFits:stripPaddingForAbuttingView:isTopHeader:]","symbolLocation":192,"imageIndex":12}, {"imageOffset":16733416,"symbol":"-[UISectionRowData _headerFooterSizeForSection:inTable:withTitle:detailText:isHeader:stripPaddingForAbuttingView:isTopHeader:]","symbolLocation":680,"imageIndex":12}, {"imageOffset":2595124,"symbol":"-[UISectionRowData refreshWithSection:tableView:tableViewRowData:]","symbolLocation":464,"imageIndex":12}, {"imageOffset":2604748,"symbol":"-[UITableViewRowData rectForFooterInSection:heightCanBeGuessed:]","symbolLocation":104,"imageIndex":12}, {"imageOffset":2604572,"symbol":"-[UITableViewRowData heightForTable]","symbolLocation":52,"imageIndex":12}, {"imageOffset":2599644,"symbol":"-[UITableView _updateContentSizeSkippingContentOffsetAdjustment:]","symbolLocation":168,"imageIndex":12}, {"imageOffset":16599748,"symbol":"-[UITableView _rebuildGeometryForcingRowDataUpdate:skipContentOffsetAdjustment:updateImmediatelyIfPossible:]","symbolLocation":140,"imageIndex":12}, {"imageOffset":16595412,"symbol":"-[UITableView setLayoutMargins:]","symbolLocation":204,"imageIndex":12}, {"imageOffset":16595180,"symbol":"-[UITableView _setDefaultLayoutMargins:]","symbolLocation":52,"imageIndex":12}, {"imageOffset":16595032,"symbol":"-[UITableView didMoveToWindow]","symbolLocation":288,"imageIndex":12}, {"imageOffset":74184,"symbol":"-[UIView(Internal) _didMoveFromWindow:toWindow:]","symbolLocation":1716,"imageIndex":12}, {"imageOffset":1969584,"symbol":"-[UIScrollView _didMoveFromWindow:toWindow:]","symbolLocation":88,"imageIndex":12}, {"imageOffset":73152,"symbol":"-[UIView(Internal) _didMoveFromWindow:toWindow:]","symbolLocation":684,"imageIndex":12}, {"imageOffset":71756,"symbol":"__45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke","symbolLocation":124,"imageIndex":12}, {"imageOffset":71520,"symbol":"-[UIView _postMovedFromSuperview:]","symbolLocation":484,"imageIndex":12}, {"imageOffset":66468,"symbol":"-[UIView(Internal) _addSubview:positioned:relativeTo:]","symbolLocation":2180,"imageIndex":12}, {"imageOffset":555240,"symbol":"-[UIWindow addRootViewControllerViewIfPossible]","symbolLocation":728,"imageIndex":12}, {"imageOffset":1651088,"symbol":"-[UIWindow setRootViewController:]","symbolLocation":364,"imageIndex":12}, {"imageOffset":27056,"imageIndex":2}, {"imageOffset":26016,"imageIndex":2}, {"imageOffset":2179544,"symbol":"-[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:]","symbolLocation":320,"imageIndex":12}, ...... {"imageOffset":2433472,"symbol":"-[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:]","symbolLocation":288,"imageIndex":12}, {"imageOffset":60072,"symbol":"-[FBSScene _callOutQueue_didCreateWithTransitionContext:completion:]","symbolLocation":324,"imageIndex":9}, {"imageOffset":59716,"symbol":"__92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke.108","symbolLocation":280,"imageIndex":9}, {"imageOffset":54696,"symbol":"-[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:]","symbolLocation":168,"imageIndex":9}, {"imageOffset":103264,"symbol":"__92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke","symbolLocation":352,"imageIndex":9}, {"imageOffset":17152,"symbol":"_dispatch_client_callout","symbolLocation":20,"imageIndex":8}, {"imageOffset":32072,"symbol":"_dispatch_block_invoke_direct","symbolLocation":284,"imageIndex":8}, {"imageOffset":39404,"symbol":"FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK","symbolLocation":52,"imageIndex":9}, {"imageOffset":39276,"symbol":"-[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible]","symbolLocation":240,"imageIndex":9}, {"imageOffset":38980,"symbol":"-[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource]","symbolLocation":28,"imageIndex":9}, {"imageOffset":228044,"symbol":"CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION","symbolLocation":28,"imageIndex":10}, {"imageOffset":224584,"symbol":"__CFRunLoopDoSource0","symbolLocation":176,"imageIndex":10}, {"imageOffset":218460,"symbol":"__CFRunLoopDoSources0","symbolLocation":340,"imageIndex":10}, {"imageOffset":213560,"symbol":"__CFRunLoopRun","symbolLocation":828,"imageIndex":10}, {"imageOffset":212504,"symbol":"CFRunLoopRunSpecific","symbolLocation":608,"imageIndex":10}, {"imageOffset":13804,"symbol":"GSEventRunModal","symbolLocation":164,"imageIndex":11}, {"imageOffset":2290512,"symbol":"-[UIApplication _run]","symbolLocation":888,"imageIndex":12}, {"imageOffset":2288012,"symbol":"UIApplicationMain","symbolLocation":340,"imageIndex":12}, {"imageOffset":24608,"imageIndex":2}, {"imageOffset":23876,"symbol":"start","symbolLocation":2104,"imageIndex":13} ], `
1
0
429
Sep ’23
Seeking Advice on Unjust Review Rejection Due to Existing Identical App
I find myself in a predicament that requires help and advice from you. I have developed an app for the App Store, which has been successfully available for several years and generates revenue through subscriptions. In the past, multiple updates for my app were accepted and released, leading to a positive experience with Apple. However, I recently received a review rejection that presents a significant challenge. The rejection is based on the premise that an identical app already exists in the App Store. Theoretically, this is correct. However, the other app is also from me! The pre-existing identical app was unlawfully published by another developer using my code. This matter has already been legally resolved, and Apple officially confirmed it with Apple ref# APP152466. The other app has been deactivated by Apple and is no longer available in the App Store. Despite this clarification, I received only a cryptic response "We are unable to continue our review of your App Store submission because your app is identical to a previously submitted app, [...], which was involved in an App Store Notices dispute (reference number: APP152466)" to my inquiry regarding the review rejection, without a clear acknowledgment or an explanation that the situation was understood. Subsequently, I attempted to initiate a dispute through the appropriate Apple channel, but after several days, I have yet to receive a response. My primary issue is that I am incurring financial losses due to this ongoing rejection of Apple, even though my app is entirely legitimate and does not violate Apple's guidelines. My expectation is that Apple will recognize the situation, and proceed with the review in the normal way. _But I feel stuck and don't know how to proceed. It looks to me like I am at the mercy of the given system without anyone at Apple seriously looking into my case. _ Hence, I am turning to the developer community for guidance: Does anyone have an idea of what my next logical step should be? Or whom I can contact to professionally resolve this situation with Apple? Any advice or experiences you can share would be greatly appreciated and would go a long way in helping me navigate this difficult situation. Thanks in advance,
3
1
406
Oct ’23
Trimming of activities allowed
At the moment I am working on a small app that retrieves Activities via HealthKit and allows user to trim activities. A typical use case would be when an user forgets to finish / stop an activity recording on his watch. Has anyone experience with submit such kind of apps to the app store. Does apple even allow this kind of feature? It could harm the integrity of health data if not done correctly.
0
0
430
Oct ’23