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.

All subtopics

Post

Replies

Boosts

Views

Activity

CKQueryOperation in private database produces 500 errors from server and in CloudKit Console
I've been scratching my head on this one. Out of the blue, part of my 'synchronization' mechanism that copies 'favorites' from device to device has stopped working. A user can save a favorite location and it will propagate to all of their other devices, or repopulate after an uninstall and reinstall. My code in the space hasn't changed for months and I haven't made any schema changes to this type either. Last night I noticed the process wasn't working anymore. My CKQueryOperation result completion is returning this error: <CKError 0x2818a16b0: "Server Rejected Request" (15/2001); "Request failed with http status code 500"; uuid = 2CA523A6-8F39-4538-98AF-E9B7D6CACF73> What is telling to me is that the CloudKit Console also fails with an internal error when I try to query this type in MY private database for two different accounts. I can query another type in the private database but this one won't work for two of the Apple ID's I have tried. Also interesting, if I query this type in the PUBLIC database, even though this type is only saved to the private database, that operation succeeds just fine. I don't want to burn a DTS ticket for a server issue. FB13543186 - CloudKit: Receiving 500 when performing a query operation on the private database CloudKit status page is green on the developer site as of this morning.
3
0
1k
Jan ’24
Apply already increased price to existing subscribers as well
Hi, We have recently implemented a price increase for one of our products, which is now in effect. Please note that the old price will continue to apply for existing subscribers. However, we have now made the decision to apply this increased price to existing subscribers as well. Unfortunately, the option of "plan subscription price change" does not accommodate this update. Could help on how to do? Thanks and regards, Fred
4
1
740
Jan ’24
Verification failed with status INVALID_APP_IDENTIFIER
Hi, We are trying to verify transaction IDs using the App Store Server Library for Python. We have been able to successfully send a test notification, but then when trying to get transaction information for a specific transaction ID we are receiving the InvalidAppIdentifierError (error code: 4000002). We have verified that the bundle_id is correct and matches what we see in App Store Connect, and the bundle_id seems to be valid and work when we sent a test notification. We have also tried setting the bundle_id to be equal to our <TEAM ID>.<BUNDLE_ID>, which is the format for the application-identifier in our TestFlight Build Metadata, but we still receive the same error when doing so. We would greatly appreciate any help or advice on how to resolve this, and please let me know if any more information is needed to help us. import os from appstoreserverlibrary.api_client import AppStoreServerAPIClient, APIException from appstoreserverlibrary.models.Environment import Environment from appstoreserverlibrary.signed_data_verifier import VerificationException, SignedDataVerifier from typing import List private_key_path = "REDACTED" with open(private_key_path, 'rb') as file: private_key = file.read() key_id = "REDACTED" issuer_id = "REDACTED" bundle_id = "REDACTED" environment = Environment.SANDBOX client = AppStoreServerAPIClient(private_key, key_id, issuer_id, bundle_id, environment) def load_root_certs(root_certificate_dir: str) -> List[bytes]: root_certificates = [] for file_name in os.listdir(root_certificate_dir): if not file_name.endswith('.cer'): continue root_cert = file_name with open(os.path.join(root_certificate_dir, root_cert), 'rb') as file: root_certificates.append(file.read()) return root_certificates root_certificates = load_root_certs("REDACTED") enable_online_checks = True signed_data_verifier = SignedDataVerifier(root_certificates, enable_online_checks, environment, bundle_id) try: response = client.get_transaction_info(transaction_id_ios) signed_transaction_info = response.signedTransactionInfo or "" print(signed_transaction_info) payload = signed_data_verifier.verify_and_decode_notification(signed_transaction_info) print(payload) except (APIException, VerificationException) as e: print(e)```
3
0
1.9k
Jan ’24
Xcode 15 forcing app id prefix to be team id
I'm submitting an update to an app which was originally submitted in 2008. So, it has one of the "old" app id prefixes, not the Team ID prefix used by newer apps. When I try to validate this app built in Xcode 15 in organizer, I get a warning that the app id prefix in the current store app is changing from the "old" prefix to the new Team ID prefix. I didn't change anything. The App Identifier, Certificates, and Profile are the same that I used last June under Xcode 14. So, there seems to be an issue with Xcode 15. Same issue under 15.0 and 15.2. Anyone know a fix for this? This still works fine in Xcode 14. If I can't come up with a fix, I'll just submit with 14 as that's still valid until April 2024 I think. Regards, Patrick
5
0
2.1k
Jan ’24
Dating App Rejected Guideline 4.3 - Design - Spam
"Regarding Guideline 4.3 - Design - Spam, your app primarily includes dating features that duplicate the content and functionality of similar apps in a saturated category'. Our app is a dating app for anime fans, we feature Tinder-like swiping but have many distinguishing features. Video: https://streamable.com/xedrse Website: https://senpaiapp.com We were hoping to launch next week and this is a huge disappointment, we even have a Japanese localization in progress. I think the tester had a bad experience due to swiping without interaction on the seeded profiles -- so I resubmitted so they can experience a=our distinguishing features like our anime recommendation engine. Anyway, is there a way forward? I've filed an appeal, but I would hate to miss launching ahead of Valentine's Day.
3
1
1.6k
Feb ’24
Can't create new app version on App Store Connect
It's not possible to create a new version for any App Store Connect app. To reproduce, I navigate to my app and click the (+) button to create a new version number. I type in a version number, and click "Create." It fails with an error, "An error has occurred. Try again later." When I view it in the Network tab of the Web Inspector, it shows that there's a 500 error. { "errors": [{ "status": "500", "code": "UNEXPECTED_ERROR", "title": "An unexpected error occurred.", "detail": "An unexpected error occurred on the server side. If this issue continues, contact us at https://developer.apple.com/contact/." }] } The same error occurs when I attempt to create an app store version using the App Store Connect API.
185
119
31k
Feb ’24
App Store Mac Catalyst warning; asking for a minimum version of macOS that doesn't exist
While I'm keen on being on the latest version of macOS, I'm having trouble meeting the requirement that my app can run on a version of macOS that doesn't exist :) I'm using Xcode 15.2 (15C500b), targeting iOS 17.2. I've elected to have the App Store choose the minimum version for Catalyst. I've also tried selecting a version. ITMS-90899: Apple silicon Mac support issue - The app is not compatible with the provided minimum macOS version of 14.2. It can run on macOS 14.4 or later. Please specify an LSMinimumSystemVersion value of 14.4 or later in a new build, or select a compatible version in App Store Connect. For details, visit: ... Is there something I could be doing wrong to prompt this behaviour?
4
1
1.7k
Feb ’24
ATT bug, don't wait for user
Hello, when I'm asking for the ATT permission don't wait for the user response. I doesn't matter which approach use never waits for user answer. Using xcode 15.2 on iOS 17.4 simulators, versions before like iOS 17.2 works without any issue. Task { self.resultStatus = await ATTrackingManager.requestTrackingAuthorization() completion() } } ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in self.resultStatus = status completion() }) }
21
9
9.8k
Feb ’24
App stuck in Ready for Review state
Last week I've submitted a new update for review doing the standard procedure for iOS, Mac and Vision. When submitting them both the Mac and Vision App switched to Waiting for Review state but the iOS one got stuck in Ready for Review state. I've tried a few times canceling the submission and submitting again and it always gets stuck in the "Ready for Review" state. Under the App Review section shows as Waiting for Review but on the general page shows Ready for Review. I've tried using the App Store Connect the API and the same thing happens. Any suggestions how to fix this?
4
1
2.2k
Feb ’24
How can I get list of all in-app user subscription data for an app on apple store
Is there a Apple store API that can list all the in-app subscriptions (active, expired, cancelled, charged-back etc) for an app? I can see a developer API listed here - https://developer.apple.com/documentation/appstoreserverapi/get_transaction_history using which I can only retrieve data for a single user. I am not looking for purchases by a single user but as an finance admin I want a list of all subscription purchases (active, expired, cancelled, charged-back) for a time period range that I pass as input parameters so I can generate accrued/deferred revenue report for my company. Is there a way? Please assist.
1
0
720
Feb ’24
UK: when making payments, does Appstore use only the IBAN?
I'm trying to set up my banking, but I'm getting the error message "The bank identification code you selected does not match the corresponding part of your IBAN." All my details are correct. However, my bank seems to use a different provider for its IBANs, which is where the verification is failing. I'm a bit confused to what Apple actually pay into - the bank account/sort code combo, or directly into the IBAN? If it's the former, why do they even ask for the IBAN and verify against it? Has anyone experienced this, and how did they resolve it? Apple support sent me a link where people were using the IBAN breakdown to reverse-engineer an account number/sort code from it, but when I mentioned this to my bank, they told me to not do this. Thanks in advance
2
0
478
Feb ’24
Inquiry about the production of visionos apps separate from the existing ios app store sales
Hello . I'm currently selling an app. I tried to run the ios version on visionos to provide the same service as the existing app, but a huge amount of incompatible code was generated. Can I create a visionos app with the same name, add visionos from the App Store connect site, and upload a completely separate app project file? The iOS app and the visionos app will use the same icloud, in-app payment, and so on. However, we plan to separate the project itself to reduce the size of the user's app itself and optimize it.
0
0
580
Feb ’24