App Store Connect

RSS for tag

App Store Connect is a suite of tools for submitting and managing your apps and in-app purchases on the App Store.

Posts under App Store Connect tag

200 Posts

Post

Replies

Boosts

Views

Activity

Can't upload to AppStore an App with WebRTC - claims to use non-public APIs
I've got an app that uses WebRTC. When I try to upload it using Xcode I get the following error: Validation failed The app references non-public selectors in Payload/{MyApp}.app/{MyApp}: initWithURLStrings: (ID: 61a6dbe5-dac2-4910-a836-b4b9b2e891b4) This API is not private, it's just unfortunate that WebRTC chose to use this name as well, and it is falsely identified as a private API by Apple. Has anyone seen this? The funny thing is, I have the exact same app with different configuration in TestFlight internal only for staging, and I could upload it without any issues. And yes, I've tried uploading this app for test flight internal only. No success either.
0
0
170
Jul ’25
Icon Composer: Unable to Submit App to App Store Connect After Adding iOS 26 App Icon
Hello, I added a new iOS 26 app icon created with Icon Composer (named AppIcon) to my app, while keeping the previous version's icon (in Asset Catalog format, also named AppIcon). However, I found that once the bundle contains the Icon Composer icon file, the app cannot be submitted to App Store Connect. I received the following App Store Connect errors: ITMS-90022: Missing required icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 10.0. To support older versions of iOS, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file. See https://developer.apple.com/documentation/bundleresources/information_property_list/user_interface. ITMS-90023: Missing required icon file - The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format for iOS versions >= 10.0. To support older operating systems, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file. See https://developer.apple.com/documentation/bundleresources/information_property_list/user_interface. ITMS-91111: Missing app icon - Include a large app icon as a 1024 by 1024 pixel PNG for the 'Any Appearance' image well in the asset catalog of apps built for iOS or iPadOS. Without this icon, apps can't be submitted for review. For details, visit: https://developer.apple.com/documentation/xcode/configuring-your-app-icon. Environment: Xcode 26 beta 3 FB: FB18987592
1
0
320
Jul ’25
App store connect validation failed with CFBundleIdentifier Collision
We have a client with an application that includes a main application, NSEs (Notification Service Extensions) as an extension, and framework1 embedded within the main application. The NSEs also require framework1 as a dependency. When we embedded framework1 within the NSEs, the App Store Connect validation failed with the following error: Validation failed (409) CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value 'com.test.xyz-LoggerUtility' under the iOS application 'test.app'. (ID: -----------) We've observed an issue specifically when uploading to App Store Connect. We're able to debug and distribute the application without any problems using our enterprise distribution.
3
0
383
Jul ’25
Any difference between primary language English U.S. and U.K.?
Hi. I have chosen a name for my new app, which isn't available in "English U.S.". When uploading it to TestFlight using Xcode, I get. The app name you entered is already being used. If you have trademark rights to this name and would like it released for your use, submit a claim. I changed the primary (and only) language from "English U.S." to "English U.K." and the app name is now accepted by App Store Connect. The app is supposed to be worldwide available and doesn't target any specific geographical region. It's also only available in English (no localizations). Are there any disadvantages using "English U.K." i.s.o. "English U.S."? What are the differences between both when it comes to App Store presentation, ranking, search, ... I don't really see why Apple offers 4 English languages. Every style understands the other one, despite some minor spelling differences.
2
1
166
Jul ’25
New age ratings update
I got a mail telling me developers need to update the age rating for all of their apps. I checked the documentation in the help section, but it seems there is no edit button at the top of the App Information section, nor a way to edit the age questionnaire. Do developers really need to create a new version of all of their apps just to answer 3 new questions on that form? *I'm not sure if I can even edit after uploading a new version as I haven't tried. Please fix it to be editable or update the information in the help section. It is also confusing. It says "Action required" in the mail, but App Store Connect notifications seem to suggest Apple will automatically adjust the rating themselves if I do nothing, and doing nothing is fine.
5
2
574
Nov ’25
Problem to enter iCloud six-digit verification code
When I have created my developer account I do it on a MacPro 2019. Now I develop to a new silicon Mac. To submit the (Mac) application App store Connect give a six-digit verification code. This code must be enter to popup window that appear on Desktop. But the popup window appear on MacPro 2019 instead of silicon Mac. How can I receive popup window in the silicon Mac Desktop, not in MacPro 2019 ? iCloud staff tell that it imposible to change the computer destination that receive popup window... Is it true ? Yes, I can use phone to enter the six-digit verification code but it is very more easy to enter the code in the popup window.
1
0
123
Jul ’25
How to Access Request Logs for Reporter Tool and App Store Connect API?
Context We hold an Apple Developer Program team account and rely on: • Reporter tool – for downloading financial reports (Sales and Trends, etc.) • App Store Connect API – for retrieving subscription, refund, and other sales data We are facing several management challenges: The Developer portal shows no history of Reporter or API requests. Once team members are granted access, we cannot verify their exact actions (download time, report type, date range, etc.). Lack of permission-usage auditing makes it hard to judge whether an action is legitimate or poses potential risk. Questions Does Apple provide an official way to view detailed request logs for the Reporter tool or the App Store Connect API? • If yes, please indicate where to access them (developer portal location or API endpoint) and what fields are included (timestamp, account used, request parameters, etc.). If no built-in logging exists, are there any alternative methods to help teams monitor permission usage? • For example, an event-notification mechanism when reports are generated or data is pulled. Are there plans to introduce an auditing feature in the future? If so, is there an estimated release timeframe? Thanks in advance for any guidance!
0
0
104
Jul ’25
storefront.countryCode is fixed to USA in iOS 26 beta
Whether using Storefront.current?.countryCode or SKPaymentQueue.default().storefront?.countryCode, both are returning "USA" only. (It used to return the correct country code before the update.) In the sandbox environment, the country code is returned correctly, but in the TestFlight environment, it always returns "USA". There's no mention of this behavior in the beta release notes, so I'm posting it here for visibility.
1
1
174
Jul ’25
Repeated App Rejection – Request for Direct Review
Hi, Our macOS app includes native OS functionality and a web-based control panel that interacts with a local API to manage system actions. It’s not just a webview or wrapper. Despite multiple submissions, it’s been rejected for “lack of functionality.” Is there a way to escalate this or speak with someone from App Review for a more informed evaluation? Thanks, Shaul Shabtay PuppetPC
1
0
138
Jul ’25
making preview for app
I have a small .mov I created using screenshot and I want to use it as a preview. I have managed to resize it to the required 1920x1080, added a sound track using ffmpeg (home-brew), drop it into an iMovie App preview project, share it as a file, drag that file to App Store Connect/Apps/myApp/"App previews and Screenshots" only to have it rejected for "frame rate too high", 30 fps required. There appears to be no way to specify frame rate in "Screenshot" nor iMovie during "share". Aside from using a third party app "Handbrake" to edit the file, what can be done? Maybe more importantly, why is 30 fps required when it isn't a standard output of screenshot nor iMovie/AppPreviewProject ? btw: iMovie/AppPreview/Help shows submittal of non-1920x1080 files to AppStoreConnect
0
0
186
Jul ’25
Get transfer_sub failed when transfer an app
Our app ID is 708064914; When we transferred an app with Sign in with Apple function, and request the REST API to get transfer_sub, approximately 25% of the requests return error responses such as: {"error":"invalid_request","error_description":"User not found."} 001307.dba0ea2b147f45aa9e85de2abfb4c072.2047 received the first error; We want to understand under what circumstances these errors occur. Since we have already transferred once before, this is the second transfer. The "User not found" error might be related to IDs from the original team. Is that right?
0
0
135
Jul ’25
Cannot add App Clip Invocations to builds due to button not working
Hei! I'm currently running into an issue that I cannot create App Clip Invocations for a build in Appstore Connect. Tested with Safari, Chrome and Firefox. Also with a Windows machine. I select the build from TestFlight view I click "Add App Clip Invocation" I fill the data in the modal I click "Add" Nothing happens and I don't see any errors in the logs in developer tools with the browsers.
4
3
192
Jul ’25
App Review Delay: 3+ Weeks with No Response from Apple
Hello, The initial app review period for our application is taking unusually long. Here are some key characteristics of our app: VPN service Uses a third-party external payment system We understand that VPN applications generally require a longer review time than other types of apps. However, our app was first submitted for review on July 9, 2025, and it has remained in the "In Review" status for more than 3 weeks. What we have done so far: Contacted App Review via email regarding the status Submitted an expedited review request We received a reply stating that the review is delayed, but the status is still "In Review" with no further updates. We would like to know: Should we cancel the current review and submit a new version instead? If anyone has experience with a similar delay, or knows the typical review duration for a first-time VPN app submission, or an app that uses a third-party external payment system, we would greatly appreciate it if you could share your experience. Thank you.
1
0
86
Jul ’25
App Store Connect Error ITMS-90058: This bundle is invalid
App Store Connect rejects the build with the following error: Please correct the following issues and upload a new binary to App Store Connect. ITMS-90058: This bundle is invalid - The value for key CFBundleVersion [iphoneos] in the Info.plist file must be a period-separated list of at most three non-negative integers. Please find more information about CFBundleVersion at https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion But we double-checked at the app level; in all places the CFBundleVersion and versions is mentioned in the correct format. Even though we tried to upload via Xcode and Transporter, both show success. but the build is not reflecting in TestFlight. Receive the above error message via mail. data: { "attributes": { "cfBundleShortVersionString": "3.25.9", "cfBundleVersion": "25", "p Validated with the delivery log, but the delivery log also shows correct versioning only.
4
0
215
Sep ’25
Launching a Sequel That Shares Code/Assets With Original App – Any Platform Conflicts?
Hello! I recently transferred ownership of an old game (hasn't been updated for 6+ years) to my developer account. Since then, I’ve been working on a sequel to the original, but with significant changes. This new title: Is fully redesigned into a a new gameplay experience, metagame systems, progression Has a revamped UI and UX Uses some shared code and assets from the original game that are the underlying game mechanics (previous game was "endless" in each run, this game has hundreds of levels on top of a new roguelike system with hundreds of unlocks) My question is: If I launch this as a new app as a sequel while keeping the original live on the App Store, will there be any potential conflicts from a platform or policy standpoint — especially considering the shared backend, assets, and art? I want to be sure I’m not violating any platform rules related to duplicate or derivative apps, especially since both would be live simultaneously and serve different gameplay purposes. Any insight from Apple staff would be greatly appreciated. Thanks!
1
0
102
Aug ’25
New App taking over Bundle Id from old app.
Hi everyone We have brought the iOS development in-house from a consulting firm and have developed a new app that will replace the old one. To minimize disruption for users of the old app during this upgrade, we would like to release the new app as an update to the old one, using the Bundle ID from the old app. It is important to note that the old app has already been released through the App Store. The two apps share no code and are almost incompatible on any points. Is it possible to change the Bundle ID and delete UserDefaults from the old app during the transition to the new app? We look forward to your input!
4
0
221
Aug ’25
Unable to Download App Version Information in Xcode Organizer Despite Admin Privileges. (from Reports Hangs, Launches, Disk Writes)
I am writing to report a critical issue with the Xcode Organizer. It is failing to download App Version Information from App Store Connect, which prevents our team from accessing vital performance reports like disk writes, hangs, and launches. Other features such as Crashes, Metric's items work fine. When I open the "Reports" tab in the Xcode Organizer, it consistently shows the following error: Xcode failed to load builds for "{Service}". "{Account}" failed with error: No Versions. [Important Context] What is particularly concerning is that this functionality used to work correctly. We were able to see build versions and access their reports up until a certain build in the past. However, at some point, this stopped working, and now no versions are loaded. Given that I am an Admin and this feature was previously working, the issue does not appear to be a simple permissions problem. It seems a change has occurred, either on the server-side or in how Xcode interacts with our app's record on App Store Connect. Could you please help us understand: What might have caused this sudden change that prevents build versions from being loaded? What steps can we take to resolve this "No Versions" error and restore access to our performance reports? Thank you for your investigation into this matter.
2
0
312
Aug ’25
[StoreKit1] IAP Works in TestFlight but Fails During App Review (2.1 Rejection)
Hello Apple Developer Team, We're experiencing consistent IAP approval rejections under Guideline 2.1, despite successful TestFlight verification. Here's our detailed situation: Environment StoreKit 1 implementation Tested on iOS 18.5 or 18.6 devices Sandbox environment works perfectly Verification Steps Taken ✅ Confirmed all Product IDs match App Store Connect exactly ✅ Validated 10+ successful TestFlight transactions (attached screenshot samples) ✅ Verified banking/tax agreements are active Objective-C Code (StoreKit1 Implementation) - (void)buyProductId:(NSString *)pid AndSetGameOrderID:(NSString *)orderID{ if([SKPaymentQueue canMakePayments]){ if (!hasAddObserver) { [[SKPaymentQueue defaultQueue] addTransactionObserver:_neo]; hasAddObserver = YES; } self.neoOrderID = orderID; [[NSUserDefaults standardUserDefaults] setValue:orderID forKey:Pay_OrderId_Key]; self.productID = pid; NSArray * product = [[NSArray alloc]initWithObjects:self.productID, nil]; NSSet * nsset = [NSSet setWithArray:product]; SKProductsRequest * request = [[SKProductsRequest alloc]initWithProductIdentifiers:nsset]; request.delegate = self; [request start]; }else{ NSString * Err = @"Pembelian tidak diizinkan. Silakan aktifkan perizinan di pengaturan"; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [Err UTF8String]); return; } } - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { NSArray * product = response.products; if ([product count] == 0) { [[SKPaymentQueue defaultQueue]removeTransactionObserver:_neo]; hasAddObserver = NO; NSString * Err = [NSString stringWithFormat:@"Err = 01, Item tidak ditemukan %@",self.productID]; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [Err UTF8String]); return; } SKProduct * p = nil; for (SKProduct * pro in product) { if ([pro.productIdentifier isEqualToString:self.productID]){ p = pro; }else{ [request cancel]; [[SKPaymentQueue defaultQueue]removeTransactionObserver:_neo]; hasAddObserver = NO; NSString * Err = [NSString stringWithFormat:@"Err = 02, %@",self.productID]; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [Err UTF8String]); return; } } SKMutablePayment * mPayment = [SKMutablePayment paymentWithProduct:p]; mPayment.applicationUsername = [NSString stringWithFormat:@"%@",self.neoOrderID]; if(!hasAddObserver){ [[SKPaymentQueue defaultQueue] addTransactionObserver:_neo]; hasAddObserver = YES; } [[SKPaymentQueue defaultQueue] addPayment:mPayment]; } - (void)request:(SKRequest *)request didFailWithError:(NSError *)error{ [[SKPaymentQueue defaultQueue]removeTransactionObserver:_neo]; hasAddObserver = NO; NSString * Err = [NSString stringWithFormat:@"Err = 0%ld %@", (long)error.code, self.productID]; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [Err UTF8String]); } - (void)requestDidFinish:(SKRequest *)request{ } - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transaction{ for(SKPaymentTransaction *tran in transaction){ if (SKPaymentTransactionStatePurchased == tran.transactionState){ [self completeTransaction:tran]; }else if(SKPaymentTransactionStateFailed == tran.transactionState){ [self failedTransaction:tran]; } } } - (void)failedTransaction: (SKPaymentTransaction *)transaction { NSString * detail = [NSString stringWithFormat:@"%ld",(long)transaction.error.code]; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [detail UTF8String]); [[SKPaymentQueue defaultQueue]removeTransactionObserver:_neo]; hasAddObserver = NO; [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; } - (void)completeTransaction:(SKPaymentTransaction *)transaction{ NSMutableDictionary * mdic = [NSMutableDictionary dictionary]; NSString * productIdentifier = transaction.payment.productIdentifier; NSData * _recep = nil; NSString * _receipt = @""; if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { _recep = transaction.transactionReceipt; _receipt = [[NSString alloc]initWithData:_recep encoding:NSUTF8StringEncoding]; } else { _recep = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]]; _receipt = [_recep base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed]; } NSString * gameOrderid = [transaction payment].applicationUsername; if (gameOrderid == nil) { gameOrderid = [[NSUserDefaults standardUserDefaults] objectForKey:Pay_OrderId_Key]; } if(_receipt != nil && gameOrderid != nil){ mdic[@"orderid"] = gameOrderid; mdic[@"productid"] = productIdentifier; mdic[@"receipt"] = _receipt; }else{ [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; return; } NSData * data = [NSJSONSerialization dataWithJSONObject:mdic options:kNilOptions error:nil]; NSString * jsonString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; if (hasAddObserver) { [[SKPaymentQueue defaultQueue] removeTransactionObserver:_neo]; hasAddObserver = NO; } // UnitySendMessage("GameManager", "IAPPurchaseSuecess", [jsonString UTF8String]); [self verifyReceipt:_recep completion:^(BOOL success, NSDictionary *response) { if (success) { NSLog(@"verify success"); // [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; [self verifySuecessDelTransactions]; } }]; } - (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { for(SKPaymentTransaction *tran in queue.transactions){ if (SKPaymentTransactionStatePurchased == tran.transactionState){ [self completeTransaction:tran]; } } } - (void)verifySuecessDelTransactions{ SKPaymentQueue *paymentQueue = [SKPaymentQueue defaultQueue]; NSArray<SKPaymentTransaction *> *transactions = paymentQueue.transactions; if (transactions.count == 0) { return; } for (SKPaymentTransaction *transaction in transactions) { if (transaction.transactionState == SKPaymentTransactionStatePurchased || transaction.transactionState == SKPaymentTransactionStateRestored) { [paymentQueue finishTransaction:transaction]; } } }
1
0
141
Aug ’25
Subscription Stuck as "Missing Metadata"
Hello, We're experiencing an issue where our app’s in-app subscriptions are flagged as “Missing Metadata” in App Store Connect. After contacting Apple Developer Support over the phone, we've been informed two seperate times by two different support agents that this is because we don't have a screenshot associated with either subscription (we have a monthly and yearly option). While I can continue to see in App Store Connect that a screenshot is present, Apple Developer Support informed us that no screenshot associated with either subcription. Even after deleting and reuploading, we validated this issue persists. When talking with App Review, they provided this answer multiple times: Guideline 2.1 - Performance - App Completeness We are unable to complete the review of the app because one or more of the in-app purchase products have not been submitted for review. Specifically, the app includes references to Radar Pro but the associated in-app purchase products have not been submitted for review. Next Steps To resolve this issue, please be sure to take action and submit your in-app purchases and upload a new binary in App Store Connect so we can proceed with our review. Note you must provide an App Review screenshot in App Store Connect in order to submit in-app purchases for review. Learn more about required in-app purchase metadata. This does not resolve this issue as changing the version from 1.0 to something else still does not present any additional UI to associated our subscriptions with our app in the main view or submission confirmation view. Per Apple guidelines in the "Subscriptions" tab: Your first subscription must be submitted with a new app version. Create your subscription, then select it from the app’s In-App Purchases and Subscriptions section on the version page before submitting the version to App Review. Once your binary has been uploaded and your first subscription has been submitted for review, additional subscriptions can be submitted from the Subscriptions section. Learn More Apple Developer Support recommended this is the best option for us to continue forward since they don't offer technical support. Any help resolving this issue would be greatly appreciated as it’s the only issue blocking re-review of our app. Thanks in advance.
1
4
326
Aug ’25
Unable to Authenticate with App Store Server API in Production (401 Error)
Our application is currently under review, and we are still facing issues because we receive a 401 Unauthorized response from the App Store Connect API when using the production environment. Our app integrates with Chargebee for subscription management, and in production, Chargebee is unable to authenticate with the App Store Server API. This results in a 401 Unauthorized error, preventing the user’s subscription from being synced correctly into our system. Interestingly, the same configuration works in the sandbox environment, but fails in production. We’ve tried authenticating using JWTs generated from multiple keys (including App Store Connect API / Team Keys with both Admin and App Manager access, and also In-App Purchase keys), all with the same result — sandbox access works, production does not. Here is our example code for testing with JWT token: const jwt = require('jsonwebtoken'); const fs = require('fs'); const https = require('https'); const config = { keyId: '<key_id>', issuerId: 'issuer_id', bundleId: 'bundle_id', privateKey: fs.readFileSync('path_to_key') }; const { keyId, issuerId, bundleId, privateKey } = config; const now = Math.floor(Date.now() / 1000); const jwtToken = jwt.sign( { iss: issuerId, iat: now, exp: now + 60 * 10, // 10 minutes is fine for test aud: 'appstoreconnect-v1', bid: bundleId }, privateKey, { algorithm: 'ES256', header: { alg: 'ES256', kid: keyId, typ: 'JWT' } } ); console.log('Generated JWT:\n', jwtToken); // prod const originalTransactionId = '<prod_transaction_id>'; const hostname = 'api.storekit.itunes.apple.com'; // sandbox // const originalTransactionId = '<sandbox_transaction_id>'; // const hostname = 'api.storekit-sandbox.itunes.apple.com' const options = { hostname, port: 443, path: `/inApps/v1/history/${originalTransactionId}`, method: 'GET', headers: { Authorization: `Bearer ${jwtToken}`, 'Content-Type': 'application/json', }, }; const callAppStoreConnectApi = async () => { const req = https.request(options, (res) => { console.log(`\nStatus Code: ${res.statusCode}`); let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { console.log('Response Body:\n', data || '[Empty]'); }); }); req.on('error', (e) => { console.error('Request Error:', e); }); req.end(); }; callAppStoreConnectApi(); With this code, we were able to authenticate successfully in the sandbox environment, but not in production. I read in this discussion: https://developer.apple.com/forums/thread/711801 that the issue was resolved once the app was published to the App Store, but I haven’t found any official documentation confirming this. Does anyone know what the issue could be?
3
2
401
Oct ’25
Can't upload to AppStore an App with WebRTC - claims to use non-public APIs
I've got an app that uses WebRTC. When I try to upload it using Xcode I get the following error: Validation failed The app references non-public selectors in Payload/{MyApp}.app/{MyApp}: initWithURLStrings: (ID: 61a6dbe5-dac2-4910-a836-b4b9b2e891b4) This API is not private, it's just unfortunate that WebRTC chose to use this name as well, and it is falsely identified as a private API by Apple. Has anyone seen this? The funny thing is, I have the exact same app with different configuration in TestFlight internal only for staging, and I could upload it without any issues. And yes, I've tried uploading this app for test flight internal only. No success either.
Replies
0
Boosts
0
Views
170
Activity
Jul ’25
Icon Composer: Unable to Submit App to App Store Connect After Adding iOS 26 App Icon
Hello, I added a new iOS 26 app icon created with Icon Composer (named AppIcon) to my app, while keeping the previous version's icon (in Asset Catalog format, also named AppIcon). However, I found that once the bundle contains the Icon Composer icon file, the app cannot be submitted to App Store Connect. I received the following App Store Connect errors: ITMS-90022: Missing required icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 10.0. To support older versions of iOS, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file. See https://developer.apple.com/documentation/bundleresources/information_property_list/user_interface. ITMS-90023: Missing required icon file - The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format for iOS versions >= 10.0. To support older operating systems, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file. See https://developer.apple.com/documentation/bundleresources/information_property_list/user_interface. ITMS-91111: Missing app icon - Include a large app icon as a 1024 by 1024 pixel PNG for the 'Any Appearance' image well in the asset catalog of apps built for iOS or iPadOS. Without this icon, apps can't be submitted for review. For details, visit: https://developer.apple.com/documentation/xcode/configuring-your-app-icon. Environment: Xcode 26 beta 3 FB: FB18987592
Replies
1
Boosts
0
Views
320
Activity
Jul ’25
App store connect validation failed with CFBundleIdentifier Collision
We have a client with an application that includes a main application, NSEs (Notification Service Extensions) as an extension, and framework1 embedded within the main application. The NSEs also require framework1 as a dependency. When we embedded framework1 within the NSEs, the App Store Connect validation failed with the following error: Validation failed (409) CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value 'com.test.xyz-LoggerUtility' under the iOS application 'test.app'. (ID: -----------) We've observed an issue specifically when uploading to App Store Connect. We're able to debug and distribute the application without any problems using our enterprise distribution.
Replies
3
Boosts
0
Views
383
Activity
Jul ’25
Any difference between primary language English U.S. and U.K.?
Hi. I have chosen a name for my new app, which isn't available in "English U.S.". When uploading it to TestFlight using Xcode, I get. The app name you entered is already being used. If you have trademark rights to this name and would like it released for your use, submit a claim. I changed the primary (and only) language from "English U.S." to "English U.K." and the app name is now accepted by App Store Connect. The app is supposed to be worldwide available and doesn't target any specific geographical region. It's also only available in English (no localizations). Are there any disadvantages using "English U.K." i.s.o. "English U.S."? What are the differences between both when it comes to App Store presentation, ranking, search, ... I don't really see why Apple offers 4 English languages. Every style understands the other one, despite some minor spelling differences.
Replies
2
Boosts
1
Views
166
Activity
Jul ’25
New age ratings update
I got a mail telling me developers need to update the age rating for all of their apps. I checked the documentation in the help section, but it seems there is no edit button at the top of the App Information section, nor a way to edit the age questionnaire. Do developers really need to create a new version of all of their apps just to answer 3 new questions on that form? *I'm not sure if I can even edit after uploading a new version as I haven't tried. Please fix it to be editable or update the information in the help section. It is also confusing. It says "Action required" in the mail, but App Store Connect notifications seem to suggest Apple will automatically adjust the rating themselves if I do nothing, and doing nothing is fine.
Replies
5
Boosts
2
Views
574
Activity
Nov ’25
Problem to enter iCloud six-digit verification code
When I have created my developer account I do it on a MacPro 2019. Now I develop to a new silicon Mac. To submit the (Mac) application App store Connect give a six-digit verification code. This code must be enter to popup window that appear on Desktop. But the popup window appear on MacPro 2019 instead of silicon Mac. How can I receive popup window in the silicon Mac Desktop, not in MacPro 2019 ? iCloud staff tell that it imposible to change the computer destination that receive popup window... Is it true ? Yes, I can use phone to enter the six-digit verification code but it is very more easy to enter the code in the popup window.
Replies
1
Boosts
0
Views
123
Activity
Jul ’25
How to Access Request Logs for Reporter Tool and App Store Connect API?
Context We hold an Apple Developer Program team account and rely on: • Reporter tool – for downloading financial reports (Sales and Trends, etc.) • App Store Connect API – for retrieving subscription, refund, and other sales data We are facing several management challenges: The Developer portal shows no history of Reporter or API requests. Once team members are granted access, we cannot verify their exact actions (download time, report type, date range, etc.). Lack of permission-usage auditing makes it hard to judge whether an action is legitimate or poses potential risk. Questions Does Apple provide an official way to view detailed request logs for the Reporter tool or the App Store Connect API? • If yes, please indicate where to access them (developer portal location or API endpoint) and what fields are included (timestamp, account used, request parameters, etc.). If no built-in logging exists, are there any alternative methods to help teams monitor permission usage? • For example, an event-notification mechanism when reports are generated or data is pulled. Are there plans to introduce an auditing feature in the future? If so, is there an estimated release timeframe? Thanks in advance for any guidance!
Replies
0
Boosts
0
Views
104
Activity
Jul ’25
storefront.countryCode is fixed to USA in iOS 26 beta
Whether using Storefront.current?.countryCode or SKPaymentQueue.default().storefront?.countryCode, both are returning "USA" only. (It used to return the correct country code before the update.) In the sandbox environment, the country code is returned correctly, but in the TestFlight environment, it always returns "USA". There's no mention of this behavior in the beta release notes, so I'm posting it here for visibility.
Replies
1
Boosts
1
Views
174
Activity
Jul ’25
Repeated App Rejection – Request for Direct Review
Hi, Our macOS app includes native OS functionality and a web-based control panel that interacts with a local API to manage system actions. It’s not just a webview or wrapper. Despite multiple submissions, it’s been rejected for “lack of functionality.” Is there a way to escalate this or speak with someone from App Review for a more informed evaluation? Thanks, Shaul Shabtay PuppetPC
Replies
1
Boosts
0
Views
138
Activity
Jul ’25
making preview for app
I have a small .mov I created using screenshot and I want to use it as a preview. I have managed to resize it to the required 1920x1080, added a sound track using ffmpeg (home-brew), drop it into an iMovie App preview project, share it as a file, drag that file to App Store Connect/Apps/myApp/"App previews and Screenshots" only to have it rejected for "frame rate too high", 30 fps required. There appears to be no way to specify frame rate in "Screenshot" nor iMovie during "share". Aside from using a third party app "Handbrake" to edit the file, what can be done? Maybe more importantly, why is 30 fps required when it isn't a standard output of screenshot nor iMovie/AppPreviewProject ? btw: iMovie/AppPreview/Help shows submittal of non-1920x1080 files to AppStoreConnect
Replies
0
Boosts
0
Views
186
Activity
Jul ’25
Get transfer_sub failed when transfer an app
Our app ID is 708064914; When we transferred an app with Sign in with Apple function, and request the REST API to get transfer_sub, approximately 25% of the requests return error responses such as: {"error":"invalid_request","error_description":"User not found."} 001307.dba0ea2b147f45aa9e85de2abfb4c072.2047 received the first error; We want to understand under what circumstances these errors occur. Since we have already transferred once before, this is the second transfer. The "User not found" error might be related to IDs from the original team. Is that right?
Replies
0
Boosts
0
Views
135
Activity
Jul ’25
Cannot add App Clip Invocations to builds due to button not working
Hei! I'm currently running into an issue that I cannot create App Clip Invocations for a build in Appstore Connect. Tested with Safari, Chrome and Firefox. Also with a Windows machine. I select the build from TestFlight view I click "Add App Clip Invocation" I fill the data in the modal I click "Add" Nothing happens and I don't see any errors in the logs in developer tools with the browsers.
Replies
4
Boosts
3
Views
192
Activity
Jul ’25
App Review Delay: 3+ Weeks with No Response from Apple
Hello, The initial app review period for our application is taking unusually long. Here are some key characteristics of our app: VPN service Uses a third-party external payment system We understand that VPN applications generally require a longer review time than other types of apps. However, our app was first submitted for review on July 9, 2025, and it has remained in the "In Review" status for more than 3 weeks. What we have done so far: Contacted App Review via email regarding the status Submitted an expedited review request We received a reply stating that the review is delayed, but the status is still "In Review" with no further updates. We would like to know: Should we cancel the current review and submit a new version instead? If anyone has experience with a similar delay, or knows the typical review duration for a first-time VPN app submission, or an app that uses a third-party external payment system, we would greatly appreciate it if you could share your experience. Thank you.
Replies
1
Boosts
0
Views
86
Activity
Jul ’25
App Store Connect Error ITMS-90058: This bundle is invalid
App Store Connect rejects the build with the following error: Please correct the following issues and upload a new binary to App Store Connect. ITMS-90058: This bundle is invalid - The value for key CFBundleVersion [iphoneos] in the Info.plist file must be a period-separated list of at most three non-negative integers. Please find more information about CFBundleVersion at https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion But we double-checked at the app level; in all places the CFBundleVersion and versions is mentioned in the correct format. Even though we tried to upload via Xcode and Transporter, both show success. but the build is not reflecting in TestFlight. Receive the above error message via mail. data: { "attributes": { "cfBundleShortVersionString": "3.25.9", "cfBundleVersion": "25", "p Validated with the delivery log, but the delivery log also shows correct versioning only.
Replies
4
Boosts
0
Views
215
Activity
Sep ’25
Launching a Sequel That Shares Code/Assets With Original App – Any Platform Conflicts?
Hello! I recently transferred ownership of an old game (hasn't been updated for 6+ years) to my developer account. Since then, I’ve been working on a sequel to the original, but with significant changes. This new title: Is fully redesigned into a a new gameplay experience, metagame systems, progression Has a revamped UI and UX Uses some shared code and assets from the original game that are the underlying game mechanics (previous game was "endless" in each run, this game has hundreds of levels on top of a new roguelike system with hundreds of unlocks) My question is: If I launch this as a new app as a sequel while keeping the original live on the App Store, will there be any potential conflicts from a platform or policy standpoint — especially considering the shared backend, assets, and art? I want to be sure I’m not violating any platform rules related to duplicate or derivative apps, especially since both would be live simultaneously and serve different gameplay purposes. Any insight from Apple staff would be greatly appreciated. Thanks!
Replies
1
Boosts
0
Views
102
Activity
Aug ’25
New App taking over Bundle Id from old app.
Hi everyone We have brought the iOS development in-house from a consulting firm and have developed a new app that will replace the old one. To minimize disruption for users of the old app during this upgrade, we would like to release the new app as an update to the old one, using the Bundle ID from the old app. It is important to note that the old app has already been released through the App Store. The two apps share no code and are almost incompatible on any points. Is it possible to change the Bundle ID and delete UserDefaults from the old app during the transition to the new app? We look forward to your input!
Replies
4
Boosts
0
Views
221
Activity
Aug ’25
Unable to Download App Version Information in Xcode Organizer Despite Admin Privileges. (from Reports Hangs, Launches, Disk Writes)
I am writing to report a critical issue with the Xcode Organizer. It is failing to download App Version Information from App Store Connect, which prevents our team from accessing vital performance reports like disk writes, hangs, and launches. Other features such as Crashes, Metric's items work fine. When I open the "Reports" tab in the Xcode Organizer, it consistently shows the following error: Xcode failed to load builds for "{Service}". "{Account}" failed with error: No Versions. [Important Context] What is particularly concerning is that this functionality used to work correctly. We were able to see build versions and access their reports up until a certain build in the past. However, at some point, this stopped working, and now no versions are loaded. Given that I am an Admin and this feature was previously working, the issue does not appear to be a simple permissions problem. It seems a change has occurred, either on the server-side or in how Xcode interacts with our app's record on App Store Connect. Could you please help us understand: What might have caused this sudden change that prevents build versions from being loaded? What steps can we take to resolve this "No Versions" error and restore access to our performance reports? Thank you for your investigation into this matter.
Replies
2
Boosts
0
Views
312
Activity
Aug ’25
[StoreKit1] IAP Works in TestFlight but Fails During App Review (2.1 Rejection)
Hello Apple Developer Team, We're experiencing consistent IAP approval rejections under Guideline 2.1, despite successful TestFlight verification. Here's our detailed situation: Environment StoreKit 1 implementation Tested on iOS 18.5 or 18.6 devices Sandbox environment works perfectly Verification Steps Taken ✅ Confirmed all Product IDs match App Store Connect exactly ✅ Validated 10+ successful TestFlight transactions (attached screenshot samples) ✅ Verified banking/tax agreements are active Objective-C Code (StoreKit1 Implementation) - (void)buyProductId:(NSString *)pid AndSetGameOrderID:(NSString *)orderID{ if([SKPaymentQueue canMakePayments]){ if (!hasAddObserver) { [[SKPaymentQueue defaultQueue] addTransactionObserver:_neo]; hasAddObserver = YES; } self.neoOrderID = orderID; [[NSUserDefaults standardUserDefaults] setValue:orderID forKey:Pay_OrderId_Key]; self.productID = pid; NSArray * product = [[NSArray alloc]initWithObjects:self.productID, nil]; NSSet * nsset = [NSSet setWithArray:product]; SKProductsRequest * request = [[SKProductsRequest alloc]initWithProductIdentifiers:nsset]; request.delegate = self; [request start]; }else{ NSString * Err = @"Pembelian tidak diizinkan. Silakan aktifkan perizinan di pengaturan"; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [Err UTF8String]); return; } } - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { NSArray * product = response.products; if ([product count] == 0) { [[SKPaymentQueue defaultQueue]removeTransactionObserver:_neo]; hasAddObserver = NO; NSString * Err = [NSString stringWithFormat:@"Err = 01, Item tidak ditemukan %@",self.productID]; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [Err UTF8String]); return; } SKProduct * p = nil; for (SKProduct * pro in product) { if ([pro.productIdentifier isEqualToString:self.productID]){ p = pro; }else{ [request cancel]; [[SKPaymentQueue defaultQueue]removeTransactionObserver:_neo]; hasAddObserver = NO; NSString * Err = [NSString stringWithFormat:@"Err = 02, %@",self.productID]; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [Err UTF8String]); return; } } SKMutablePayment * mPayment = [SKMutablePayment paymentWithProduct:p]; mPayment.applicationUsername = [NSString stringWithFormat:@"%@",self.neoOrderID]; if(!hasAddObserver){ [[SKPaymentQueue defaultQueue] addTransactionObserver:_neo]; hasAddObserver = YES; } [[SKPaymentQueue defaultQueue] addPayment:mPayment]; } - (void)request:(SKRequest *)request didFailWithError:(NSError *)error{ [[SKPaymentQueue defaultQueue]removeTransactionObserver:_neo]; hasAddObserver = NO; NSString * Err = [NSString stringWithFormat:@"Err = 0%ld %@", (long)error.code, self.productID]; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [Err UTF8String]); } - (void)requestDidFinish:(SKRequest *)request{ } - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transaction{ for(SKPaymentTransaction *tran in transaction){ if (SKPaymentTransactionStatePurchased == tran.transactionState){ [self completeTransaction:tran]; }else if(SKPaymentTransactionStateFailed == tran.transactionState){ [self failedTransaction:tran]; } } } - (void)failedTransaction: (SKPaymentTransaction *)transaction { NSString * detail = [NSString stringWithFormat:@"%ld",(long)transaction.error.code]; // UnitySendMessage("GameManager", "IAPPurchaseFailed", [detail UTF8String]); [[SKPaymentQueue defaultQueue]removeTransactionObserver:_neo]; hasAddObserver = NO; [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; } - (void)completeTransaction:(SKPaymentTransaction *)transaction{ NSMutableDictionary * mdic = [NSMutableDictionary dictionary]; NSString * productIdentifier = transaction.payment.productIdentifier; NSData * _recep = nil; NSString * _receipt = @""; if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { _recep = transaction.transactionReceipt; _receipt = [[NSString alloc]initWithData:_recep encoding:NSUTF8StringEncoding]; } else { _recep = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]]; _receipt = [_recep base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed]; } NSString * gameOrderid = [transaction payment].applicationUsername; if (gameOrderid == nil) { gameOrderid = [[NSUserDefaults standardUserDefaults] objectForKey:Pay_OrderId_Key]; } if(_receipt != nil && gameOrderid != nil){ mdic[@"orderid"] = gameOrderid; mdic[@"productid"] = productIdentifier; mdic[@"receipt"] = _receipt; }else{ [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; return; } NSData * data = [NSJSONSerialization dataWithJSONObject:mdic options:kNilOptions error:nil]; NSString * jsonString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; if (hasAddObserver) { [[SKPaymentQueue defaultQueue] removeTransactionObserver:_neo]; hasAddObserver = NO; } // UnitySendMessage("GameManager", "IAPPurchaseSuecess", [jsonString UTF8String]); [self verifyReceipt:_recep completion:^(BOOL success, NSDictionary *response) { if (success) { NSLog(@"verify success"); // [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; [self verifySuecessDelTransactions]; } }]; } - (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { for(SKPaymentTransaction *tran in queue.transactions){ if (SKPaymentTransactionStatePurchased == tran.transactionState){ [self completeTransaction:tran]; } } } - (void)verifySuecessDelTransactions{ SKPaymentQueue *paymentQueue = [SKPaymentQueue defaultQueue]; NSArray<SKPaymentTransaction *> *transactions = paymentQueue.transactions; if (transactions.count == 0) { return; } for (SKPaymentTransaction *transaction in transactions) { if (transaction.transactionState == SKPaymentTransactionStatePurchased || transaction.transactionState == SKPaymentTransactionStateRestored) { [paymentQueue finishTransaction:transaction]; } } }
Replies
1
Boosts
0
Views
141
Activity
Aug ’25
Subscription Stuck as "Missing Metadata"
Hello, We're experiencing an issue where our app’s in-app subscriptions are flagged as “Missing Metadata” in App Store Connect. After contacting Apple Developer Support over the phone, we've been informed two seperate times by two different support agents that this is because we don't have a screenshot associated with either subscription (we have a monthly and yearly option). While I can continue to see in App Store Connect that a screenshot is present, Apple Developer Support informed us that no screenshot associated with either subcription. Even after deleting and reuploading, we validated this issue persists. When talking with App Review, they provided this answer multiple times: Guideline 2.1 - Performance - App Completeness We are unable to complete the review of the app because one or more of the in-app purchase products have not been submitted for review. Specifically, the app includes references to Radar Pro but the associated in-app purchase products have not been submitted for review. Next Steps To resolve this issue, please be sure to take action and submit your in-app purchases and upload a new binary in App Store Connect so we can proceed with our review. Note you must provide an App Review screenshot in App Store Connect in order to submit in-app purchases for review. Learn more about required in-app purchase metadata. This does not resolve this issue as changing the version from 1.0 to something else still does not present any additional UI to associated our subscriptions with our app in the main view or submission confirmation view. Per Apple guidelines in the "Subscriptions" tab: Your first subscription must be submitted with a new app version. Create your subscription, then select it from the app’s In-App Purchases and Subscriptions section on the version page before submitting the version to App Review. Once your binary has been uploaded and your first subscription has been submitted for review, additional subscriptions can be submitted from the Subscriptions section. Learn More Apple Developer Support recommended this is the best option for us to continue forward since they don't offer technical support. Any help resolving this issue would be greatly appreciated as it’s the only issue blocking re-review of our app. Thanks in advance.
Replies
1
Boosts
4
Views
326
Activity
Aug ’25
Unable to Authenticate with App Store Server API in Production (401 Error)
Our application is currently under review, and we are still facing issues because we receive a 401 Unauthorized response from the App Store Connect API when using the production environment. Our app integrates with Chargebee for subscription management, and in production, Chargebee is unable to authenticate with the App Store Server API. This results in a 401 Unauthorized error, preventing the user’s subscription from being synced correctly into our system. Interestingly, the same configuration works in the sandbox environment, but fails in production. We’ve tried authenticating using JWTs generated from multiple keys (including App Store Connect API / Team Keys with both Admin and App Manager access, and also In-App Purchase keys), all with the same result — sandbox access works, production does not. Here is our example code for testing with JWT token: const jwt = require('jsonwebtoken'); const fs = require('fs'); const https = require('https'); const config = { keyId: '<key_id>', issuerId: 'issuer_id', bundleId: 'bundle_id', privateKey: fs.readFileSync('path_to_key') }; const { keyId, issuerId, bundleId, privateKey } = config; const now = Math.floor(Date.now() / 1000); const jwtToken = jwt.sign( { iss: issuerId, iat: now, exp: now + 60 * 10, // 10 minutes is fine for test aud: 'appstoreconnect-v1', bid: bundleId }, privateKey, { algorithm: 'ES256', header: { alg: 'ES256', kid: keyId, typ: 'JWT' } } ); console.log('Generated JWT:\n', jwtToken); // prod const originalTransactionId = '<prod_transaction_id>'; const hostname = 'api.storekit.itunes.apple.com'; // sandbox // const originalTransactionId = '<sandbox_transaction_id>'; // const hostname = 'api.storekit-sandbox.itunes.apple.com' const options = { hostname, port: 443, path: `/inApps/v1/history/${originalTransactionId}`, method: 'GET', headers: { Authorization: `Bearer ${jwtToken}`, 'Content-Type': 'application/json', }, }; const callAppStoreConnectApi = async () => { const req = https.request(options, (res) => { console.log(`\nStatus Code: ${res.statusCode}`); let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { console.log('Response Body:\n', data || '[Empty]'); }); }); req.on('error', (e) => { console.error('Request Error:', e); }); req.end(); }; callAppStoreConnectApi(); With this code, we were able to authenticate successfully in the sandbox environment, but not in production. I read in this discussion: https://developer.apple.com/forums/thread/711801 that the issue was resolved once the app was published to the App Store, but I haven’t found any official documentation confirming this. Does anyone know what the issue could be?
Replies
3
Boosts
2
Views
401
Activity
Oct ’25