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

190 Posts

Post

Replies

Boosts

Views

Activity

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
[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
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
218
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
310
Aug ’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
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
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
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
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
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
184
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
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
103
Jul ’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
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
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
381
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
318
Jul ’25
Apple Subscriptions - Coupons/Offer codes
We are trying to develop a coupon/offer code module where our app users can avail a free trail offer for 2 months period after applying the code. We already had a subscription module with monthly & yearly subscriptions with 7 day free trial period. Now, we want to implement a offer/coupon module, where, a user can either select monthly or yearly subscription, and upon entering the offer/coupon code, they will get 2 months free trial (or) a discount on the chosen subscription. (this will overwrite the existing 7 day free trial). We are confused on choosing the type of “offer/coupon” from AppStore connect. In App Store connect, we have introductory offers, promotional offer & Offer codes. Based on our requirements, we have done research and found that we cannot implement the offer code & promotional codes in the develop environment as there is no possibility to test in Sandbox environment. We observed that we need to push the app to App store and upon approval, we need to implement “offer/coupon” module. Can some one please suggest or guide us on choosing the best solution for our requirement? Thanks in advance.
1
0
120
Jul ’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.
0
0
170
Jul ’25
The installer package includes files that are only readable by the root user
I'm into packaging up my Mac game and want to submit it to the Mac App Store via XCode -> Product -> Archive -> Distribute App. I'm getting the following error: Validation failed The installer package includes files that are only readable by the root user. This will prevent verification of the application's code signature when your app is run. Ensure that non-root users can read the files in your app. I've created post build and post package hooks in xcode that list out the files do a debug log file, but there is no single file that is root only or having not 755 as rights. Any idea what I can change to fix this? Is this even something I can influence? Or is this a App Store connect issue? Thanks Martin
17
0
403
Jul ’25
Validation incorrectly detects need for web browser engine entitlement, causes "corrupted binaries" error
My iOS app (logbook) is failing App Store Connect validation with: "The app contains one or more corrupted binaries. Rebuild the app and resubmit. (ID: 96ef48c6-afb4-4e23-9205-8f625577feab)" From the distribution logs, I found the issue: 2025-07-16 07:11:35 +0000 Item /Users/guillaumehuchet/Library/Developer/Xcode/Archives/2025-07-16/Skyden 16-7-25, 09.01.xcarchive/Products/Applications/Skyden.app doesn't have the entitlement com.apple.developer.web-browser-engine.host enabled, returning ["arm64e"] 2025-07-16 07:11:35 +0000 Archs to thin for item /Users/guillaumehuchet/Library/Developer/Xcode/Archives/2025-07-16/Skyden 16-7-25, 09.01.xcarchive/Products/Applications/Skyden.app are ["arm64e"] The validation system is checking for web browser engine entitlements (which my app doesn't need), and when not found, it incorrectly requires arm64e architecture - which is private and unavailable to third-party developers. Details: Xcode: 16.4.0 Uses WKWebView solely to render HTML templates into PDF documents for logbook exports No web browsing functionality - WebView is only used as a rendering engine for PDF generation This appears to be a validation bug. The app builds and runs fine locally. How can I get past this incorrect architecture requirement? I tried everything in the last 2 days to debug it, saying I'm desperate would be a small word... this is blocking our app launch...
4
0
319
Jul ’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
[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
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
218
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
310
Activity
Aug ’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
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
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
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
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
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
184
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
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
103
Activity
Jul ’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
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
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
381
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
318
Activity
Jul ’25
Apple Subscriptions - Coupons/Offer codes
We are trying to develop a coupon/offer code module where our app users can avail a free trail offer for 2 months period after applying the code. We already had a subscription module with monthly & yearly subscriptions with 7 day free trial period. Now, we want to implement a offer/coupon module, where, a user can either select monthly or yearly subscription, and upon entering the offer/coupon code, they will get 2 months free trial (or) a discount on the chosen subscription. (this will overwrite the existing 7 day free trial). We are confused on choosing the type of “offer/coupon” from AppStore connect. In App Store connect, we have introductory offers, promotional offer & Offer codes. Based on our requirements, we have done research and found that we cannot implement the offer code & promotional codes in the develop environment as there is no possibility to test in Sandbox environment. We observed that we need to push the app to App store and upon approval, we need to implement “offer/coupon” module. Can some one please suggest or guide us on choosing the best solution for our requirement? Thanks in advance.
Replies
1
Boosts
0
Views
120
Activity
Jul ’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
The installer package includes files that are only readable by the root user
I'm into packaging up my Mac game and want to submit it to the Mac App Store via XCode -> Product -> Archive -> Distribute App. I'm getting the following error: Validation failed The installer package includes files that are only readable by the root user. This will prevent verification of the application's code signature when your app is run. Ensure that non-root users can read the files in your app. I've created post build and post package hooks in xcode that list out the files do a debug log file, but there is no single file that is root only or having not 755 as rights. Any idea what I can change to fix this? Is this even something I can influence? Or is this a App Store connect issue? Thanks Martin
Replies
17
Boosts
0
Views
403
Activity
Jul ’25
Validation incorrectly detects need for web browser engine entitlement, causes "corrupted binaries" error
My iOS app (logbook) is failing App Store Connect validation with: "The app contains one or more corrupted binaries. Rebuild the app and resubmit. (ID: 96ef48c6-afb4-4e23-9205-8f625577feab)" From the distribution logs, I found the issue: 2025-07-16 07:11:35 +0000 Item /Users/guillaumehuchet/Library/Developer/Xcode/Archives/2025-07-16/Skyden 16-7-25, 09.01.xcarchive/Products/Applications/Skyden.app doesn't have the entitlement com.apple.developer.web-browser-engine.host enabled, returning ["arm64e"] 2025-07-16 07:11:35 +0000 Archs to thin for item /Users/guillaumehuchet/Library/Developer/Xcode/Archives/2025-07-16/Skyden 16-7-25, 09.01.xcarchive/Products/Applications/Skyden.app are ["arm64e"] The validation system is checking for web browser engine entitlements (which my app doesn't need), and when not found, it incorrectly requires arm64e architecture - which is private and unavailable to third-party developers. Details: Xcode: 16.4.0 Uses WKWebView solely to render HTML templates into PDF documents for logbook exports No web browsing functionality - WebView is only used as a rendering engine for PDF generation This appears to be a validation bug. The app builds and runs fine locally. How can I get past this incorrect architecture requirement? I tried everything in the last 2 days to debug it, saying I'm desperate would be a small word... this is blocking our app launch...
Replies
4
Boosts
0
Views
319
Activity
Jul ’25