Navigate the App Store landscape. Share strategies for app submission, distribution, marketing, and user acquisition. Discuss best practices for getting your app discovered and downloaded.

General Documentation

Post

Replies

Boosts

Views

Activity

ATTrackingManager.requestTrackingAuthorization stopped working in iOS 15
I'm currently in the process of submitting in the App Store, and then after I tested my build in iOS15, it stopped displaying the prompt for ATT, I also tried it to other lower versions and it worked. Is there any way to fix this? if #available(iOS 14, *) { ATTrackingManager.requestTrackingAuthorization { status in }} I also checked the current app store build version, and it also doesn't work. Some people are currently experiencing this kind of issue in Reddit. https://www.reddit.com/r/iOSProgramming/comments/pt41jz/att_prompt_not_showing_on_ios_15/
15
0
30k
Sep ’21
App Store Notifications v2 - Verifying a signature
I have started implementing support for the new App Store Server notifications (version 2): https://developer.apple.com/documentation/appstoreservernotifications/receiving_app_store_server_notifications I am not sure how to prevent a possible mad-in-the-middle attack when using those notifications. The decoded header that I get for notifications in the Sandbox environment is missing the "kid" field that is used to identify the key used to generate a signature. Yes, I understand the the whole entire certificate chain is available in the "x5c" field and it could be verified by itself. However, this does not guarantee that a notification was signed by Apple. This approach (with no specific key, with a certificate chain in x5c) works fine when verifying a receipt on device with StoreKit 2 but it does not work when getting a notification on a server.
9
2
9.5k
Oct ’21
Webviews on iOS
The company, that I work for, wants to develop mobile apps using react native. The idea is to reuse the content on the websites instead of creating native views. The current decision is to implement the apps like follows: 1- Create a react native app with bottom navigation and webviews as the content. 2- Each time the user clicks on a different section of the navigation, the webview loads a different page of the website into the web view. For example the login functionality will be the login page from the website in a webview. Is this sort of apps allowed to be published in the appStore? My thinking is that the app will not be allowed because the content of the pages can be changed!
2
0
838
Nov ’21
Download spike from 'institutional purchase' - source?
Hi. Would welcome any comments or info on a spike in app download volumes we've observed! We are puzzled by an unusual spike in download volumes, driven by institutional purchases with a BUS promo code. Downloads are to desktop, which is also unusual for us. Having looked into the sales reports etc there is no obvious source / instigator of the downloads, and we aren't seeing an uptick in app usage, registrations etc. Which is making us wonder if the downloads are 'real' or benign. Have read Apple help info and Apple support have given a fairly generic response - neither sheds a huge amount of light. Has anyone come across similar? Would really appreciate if you could share your experience. Thanks in advance, Paul
20
6
14k
Nov ’21
Will Simulator Screenshots Ever Upload to Store
No matter what size of simulator you use on any Macbook from any year, the screenshots are completely unusable on app store connect. App store connect requires extremely obscure, uncommon, and illogically sized images for screenshots. If you take a real screenshot on an actual iPhone 13 then try to upload that image it will also no work. Will Apple ever make software that properly works with its own development software? Will Apple ever make it so the simulators screenshots are properly sized or will apple allow for appropriately sized images to be uploaded for screenshots? Funny enough the best way to get around this problem is to use a third party conversion app to make up for apples extreme inadequacy and purposeful stifling of innovation and invention. Apple should take a note from the people they are keeping their boot on the neck of. It is elementary practice to resize images on devices and in widgets. They are forcing these crazy restrictions due to sheer laziness and lack of ability.
10
5
5.1k
Mar ’22
Guideline 4.3 - Design. We noticed that your app provides the same feature set as other apps submitted to the App Store; it simply varies in content or language, which is considered a form of spam.
Hello everyone, First of all I want to mention that I'm new to Apple Developer Forums and this is my first attempt to publish an app in AppStore. I registered as Apple Developer Program as Individual. I made an app for small company. The app works like an online shop where company's customers can place orders for company's goods. So I submitted the app and it was rejected for spam issues. I tried to get some information what I can about it. They suggested me to ask on the forum about the membership. Should I try to use Apple Developer Program as an Organization? Or maybe (I find my app unique because it differs from competitive market apps) should I resubmit my app? Can I do it without making any changes in version? I also tried to appeal from their decision but I they respnsed that the original rejection feedback was valid. Additionally I want to add that this is my first iOS app ever, the only one that was submitted on my account. Thank you all for help!
2
0
1.3k
Mar ’22
Accessibility permission in sandboxed app
Is it possible to create a sandboxed app that uses accessibility permission? And if so, how do I ask the user for that permission in a way that is allowed by the App Store? Im creating a small menubar app and my current (rejected) solution is to create a pop-up, with link to Security & Privacy > Accessibility and the pop-up asks the user to manually add the app to the list and check the checkbox. This works in sandbox. Reason for rejection: "Specifically, your app requires to grant accessibility access, but once we opened the accessibility settings, your app was not listed." I know it's not listed there and it has to be added manually. But its the only solution I've found to this issue. Is there perhaps any way to add the app there programmatically? Im a bit confused since I've seen other apps in App Store that work the same way, where you have to add the app to the list manually. Eg. Flycut. :man-shrugging: I know about this alternative solution, and it's not allowed in sandboxed apps. It also adds the app to the accessibility list automagically: func getPermission() { AXIsProcessTrustedWithOptions([kAXTrustedCheckOptionPrompt.takeUnretainedValue():true] as CFDictionary). } Does anyone have a solution for this? Best regards, Daniel
7
1
3.4k
Jun ’22
Where to get 5.5 inch iPhone screenshots for submission
Hello, I'm new to iOS development and I'm trying to take some screenshots of my app to submit to the App Store. I'm running Ventura 13.0.1 and XCode 14.1. So far I've used these simulators to take screenshots: 6.5 inch - iPhone 11 Pro Max 6.7 inch - iPhone 14 Pro Max 12.9 inch - iPad Pro 6th gen What I'm stuck on is getting the 5.5 inch screenshots, which are required for App Store submission. As far as I can tell from some online searching, the latest iPhone with that screen size was the 8 Plus. I've installed the oldest iOS simulator that XCode has listed (iOS 13.7), but it still won't let me run a simulator for the iPhone 8 Plus to get those screenshots. I don't have the physical device to take screenshots on. Does anyone know how to get the 5.5 inch screenshots without having to manually resize them?
26
10
73k
Nov ’22
If user downloads a custom app to their own device using redemption code, is there a way to force remove it from the App Store purchased list?
We plan to get some redemption codes from ABM to our partners to download custom apps, and they will use their own devices. But there is a problem, if they are not involved in this business anymore. If user downloads a custom app to their own device using redemption code, is there a way to force remove it from the App Store purchased list? Is there a way to force remove it from the App Store purchased list? Or can only add permission verification to the application?
1
1
894
Jul ’23
App Tracking Transparency permission request issue in IOS 17
I am correctly implementing the App tracking Transparency issue but am still getting app rejection from AppleConnect see the message below When I tested in IOS 16.6.1 it worked perfectly on a physical device. Guideline 2.1 - Information Needed On iPad, iOS 17.0. we are unable to locate the App Tracking Transparency permission request when reviewed My App is build with flutter and I am using Latest Flutter version . Can anybody help me in this regard.
5
3
8.2k
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
1.2k
Sep ’23
NSPrivacyTrackingDomains has NOT block connections
Xcode 15.0 iPhone15 iOS17.0 Simulator I created demo app with Privacy manifest defined NSPrivacyTracking to YES, and NSPrivacyTrackingDomains with specific domain (used CDTFA Tax Rate API as example and string value is ca.gov). However, after selecting Ask App not to Track on ATT dialog, URLSession was successed and got response from the domain. Is there any wrong on my implementation? or is this feature has not released yet?
2
2
1.8k
Oct ’23
Testflight Store Region Issue - Mac Catalyst
We have an iOS app which is currently available in AppStore. Now we are enabling Mac Catalyst support for the Mac users. As our app is contains In App purchases and it is working fine in iOS devices. But when we try to purchase subscriptions from Mac Catalyst app using TestFlight, it gives the error “Your account is not valid for use in the U.S. store. You must switch to the Japan store before purchasing.” Then after we have checked an AppStore region and the region is already Japan. Any assistance would be appreciated.
3
0
664
Nov ’23
Add an iOS companion app to a Apple Watch only app
Hi everyone, We're fighting an issue that's driving us up the wall. We developed an Apple Watch Only standalone app, which cost $2.99; once you paid, you could download and use the app on your Apple Watch. We've released a companion iOS app for iPhone that goes into the same bundle (as it's the same app, now supporting two platforms). Nevertheless, the Watch app is still available as a separate app (you can download the Watch app only if you wish without needing to download the iPhone app as well). The iOS companion reads information from the watch and provides more insights into the data it displays. Similar to the sleep tracking apps where you use the watch to sleep and track and the iPhone to see the results. When we released the latest version, including both, we changed the price to Free in all countries. After this, we now have a huge problem we haven't been able to solve: Our existing users (who paid for the Apple Watch-only app) cannot download the companion iOS app. If they go to the App Store, it'd just say "Purchased" with no option to download it (nor the "Get" button or the "Cloud" icon). If you go to your App Store account in your iPhone and then to "Purchases," the app won't appear there. Because technically, you never bought it, and it's now free. If you do the same on your Apple Watch, you can still see the app on your purchases, but that would only download the Apple Watch app, not both. But on top of that, I want my users to be able to download the companion app from the App Store with their iPhones because that's what they'll do anyway (only 9% of our app downloads happen straight in an Apple Watch; most come from iPhones). Did anyone have this problem? I'm already talking with support because this is having a very negative impact on our app, and it all looks to be a bug on the App Store or an edge case that Apple hasn't considered. The thing is, I experienced this issue myself with an app from another dev previously where I had the Apple Watch app installed and paid for it. When I wanted to download the companion they released, it was impossible for the same reasons stated above. He managed to fix it, but I couldn't find any information.
4
2
2.1k
Nov ’23
Sandbox App Store receipt cannot be refreshed because auth-sandbox.itunes.apple.com has an invalid certificate
When trying to refresh a sandbox receipt of my macOS app by using exit(173), storekitd on macOS Sonoma 14.1 logs the following (German) error: fehler 18:32:58.421785+0100 storekitagent com.(redacted): Failed to renew receipt for exit(173): Error Domain=AMSErrorDomain Code=100 "Authentication Failed" UserInfo={NSMultipleUnderlyingErrorsKey=(``` "Error Domain=AMSErrorDomain Code=2 \"Ein unbekannter Fehler ist aufgetreten. Versuche es erneut.\" UserInfo={NSLocalizedDescription=Ein unbekannter Fehler ist aufgetreten. Versuche es erneut.}", "Error Domain=NSURLErrorDomain Code=-1202 \"Das Zertifikat f\U00fcr diesen Server ist ung\U00fcltig. Eventuell wird eine Verbindung mit einem Server hergestellt, der vorgibt, \U201eauth-sandbox.itunes.apple.com\U201c zu sein und vertrauliche Daten gef\U00e4hrdet.\" UserInfo={NSLocalizedRecoverySuggestion=Soll die Verbindung zum Server trotzdem hergestellt werden?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9843, NSErrorPeerCertificateChainKey=(\n \"<cert(0x14f033000) s: daiquiri-ext.itunes.apple.com i: Apple Public EV Server RSA CA 2 - G1>\",\n \"<cert(0x14f01d000) s: Apple Public EV Server RSA CA 2 - G1 i: DigiCert High Assurance EV Root CA>\",\n`` The error translates to: The certificate for this server is invalid. A connection may be established with a server pretending to be "auth-sandbox.itunes.apple.com" and compromising confidential data. The certificate returned by the sandbox auth server seems to be for daiquiri-ext.itunes.apple.com and not valid for auth-sandbox.itunes.apple.com. When I try to enter https://auth-sandbox.itunes.apple.com in Safari, it tells me that it cannot establish a secure connection to the server. curl -v https://auth-sandbox.itunes.apple.com logs this: * Connected to auth-sandbox.itunes.apple.com (17.36.202.9) port 443 (#0) * ALPN: offers h2,http/1.1 * (304) (OUT), TLS handshake, Client hello (1): * CAfile: /etc/ssl/cert.pem * CApath: none * (304) (IN), TLS handshake, Server hello (2): * (304) (IN), TLS handshake, Unknown (8): * (304) (IN), TLS handshake, Certificate (11): * (304) (IN), TLS handshake, CERT verify (15): * (304) (IN), TLS handshake, Finished (20): * (304) (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384 * ALPN: server accepted h2 * Server certificate: * subject: businessCategory=Private Organization; jurisdictionCountryName=US; jurisdictionStateOrProvinceName=California; serialNumber=C0806592; C=US; ST=California; L=Cupertino; O=Apple Inc.; CN=daiquiri-ext.itunes.apple.com * start date: Aug 28 18:07:16 2023 GMT * expire date: Dec 30 18:17:16 2023 GMT * subjectAltName does not match auth-sandbox.itunes.apple.com * SSL: no alternative certificate subject name matches target host name 'auth-sandbox.itunes.apple.com' * Closing connection 0 curl: (60) SSL: no alternative certificate subject name matches target host name 'auth-sandbox.itunes.apple.com'
3
1
994
Nov ’23
Could the root certificate that came in response from App Store Server API not be 'AppleRootCA-G3'?
Currently, 'Get Transaction History', 'Get Transaction Info', 'Get All Subscription Statuses' and 'Notifications V2' are being used in the App store Server API. When I decoded the JWS received in response and checked the root certificate, it was always 'AppleRootCA-G3'. Are there cases where the root certificate is not 'AppleRootCA-G3'?
1
0
1.1k
Nov ’23