WWDC26: Q&As on the Apple Developer Forums

Apple experts will be here on the forums to answer your questions on a variety of tools and technologies throughout the week of WWDC26.

Browse the forums Q&A schedule and sign up now

Overview

Post

Replies

Boosts

Views

Activity

Game Mode for games run by game launcher apps
If you have a "launcher-type app" (a regular macOS app bundle) which is used to launch the actual game executable (a non-bundled executable, such as a Java game), Game Mode does not seem to work as desired in this case. If the launcher app has the appropriate LSSupportsGameMode and LSApplicationCategoryType set, the launcher app will activate Game Mode if fullscreened but the actual game will not (FB18026957). Is there a workaround for this? It also seems like the system hardcodes some apps to act as "game launcher apps" which do have the desired behavior - for example, if you have a sample app set to Steam's bundle identifier (or just use Steam to run the program) and have this architecture where it runs another executable which is the real game, then that game can inherit Game Mode, which is also supported by system logs in Console (note the "launcher" labelReason): default 17:11:05.008533-0400 gamepolicyd Found game GameProcess(Optional("java"), pid=33754, euid=501, labelReason=launcher, launchedBy=Steam) Is there a way to opt into or apply for this behavior for our own apps? I previously asked this on the forums but I'm also wondering if any new developments have occurred since then.
0
0
69
11h
NSPersistentCloudKitContainer doesn't report "Quota Exceeded" through notification
When subscribing to NSPersistentCloudKitContainer.eventChangedNotification events, quota exceeded events aren't delivered to the app at runtime. I get CKError.partialFailure, but without any additional information in any of the properties. https://developer.apple.com/documentation/cloudkit/ckerror/code/partialfailure states information should be available, but it isn't. When a debugger is attached, the information is logged by another process, but my app cannot access that at runtime to provide users with additional information. Is there any workaround to get this to work? References: Older post: https://forums.developer.apple.com/forums/thread/696523 FB13773922
4
0
131
11h
App Stuck in Review for More Than 4 Weeks
Is anyone else experiencing unusually long App Review times? My app has been in review for about a month now with no progress. After waiting for so long, I cancelled and resubmitted it twice, hoping it might help, but the situation remains exactly the same. I've also contacted App Review and submitted a request for an update, but I haven't received any response yet. At this point, I'm wondering if anyone else has gone through something similar recently. How long did it take to get resolved, and is there anything else I can do besides continuing to wait?
1
0
34
11h
The requested app is not available or doesn't exist
Hey everyone, hoping someone here has seen this before because I'm losing my mind. I uploaded my first TestFlight build yesterday and added two internal testers. Both of them accept the invite fine, but the moment they tap Install in the TestFlight app, they get: ▎ "The requested app is not available or does not exist" My developer account is about a month old, but yesterday was the first time I actually pushed a build to App Store Connect. I've spent the last several hours triple-checking every setting and as far as I can tell, everything looks right: Free Apps Agreement is Active under Business Price Schedule is set to USD 0 (Free) App is available in 175 countries Bundle ID matches between my project and App Store Connect Build metadata shows App Uses Non-Exempt Encryption: No (and the same key is in my Info.plist) The build status in my Internal Testing group "Team" is Testing with the green checkmark Both testers were added under Users and Access first, then to the internal group One tester shows "Accepted" status, but the Devices column is still empty — so the invite went through but the install never actually reaches the phone Tester is on iPhone running iOS 26, my build's minimum iOS is 18.0, so that's not it I've uploaded 3 builds at this point (1.0.0 (2), (3), and (4)) — all of them show "Testing" in the group. None of them install. Things I've tried so far: Force-quitting and reopening TestFlight on the tester's phone Resending the invite Disabling Vision Pro testing in the group settings (there was a "Version 1.0 is not compatible" warning on the Vision Pro section in Pricing & Availability) Asking a second person to try — same error Any pointers appreciated. I've been at this for hours and I'm out of ideas. Happy to share screenshots or more details if it helps. Thanks 🙏
1
0
24
11h
MetalFX upscaler/denoiser and instant changes
Hi, What's the best way to handle drastic changes in scene charateristics with the new MTLFXTemporalDenoisedScaler? Let's say a visible object of the scene radically changes its material properties. I can modify the albedo and roughness textures consequently. But I suspect the history will be corrupted. Blending visual information between the new frame and the previous ones might be a nonsense. I guess the problem should be the same when objects appear or disappear instantly. Is the upsacler manage these events for us (by lowering blending), or should we use the reactive or the denoise strength mask or something like that to handle them?
3
0
293
11h
Swift Charts are being rendered very higgledy piggledy
I have raised a Feedback FB23015978 This applied to Xcode/Ios 27/26 and maybe earlier. This issue relates to ‘Charts’ This issue exists back to iOS 26 and maybe before. I have provided an app that creates a simple table of integer values representing a summary of scores achieved in 10m Air Pistol shooting. It is genuine data that I want to display certain aspects of. The the counts represent the number of times that particular score was achieved during a 60 shot qualification match. The graph I want to show is the spread of the number of 10s, 9s and hopefully not to many 8s or less. To say that this was a nightmare is a massive understatement. To narrow down the issue I have created an app whose sole purpose is to represent that real world data. Fundamentally, the score and count are integer values. I have created a set of view that display a bar chart of the data representing the values as Score Count ——————— Int Int String Int Int String String String Furthermore, I have added a version of each of the above using a domain such that any values with a count of zero up to the first non-zero value are excluded from the charts. Each screenshot of the chart also show the text for the actual Chart view. As can be seen by visual inspection, it is pretty much a total mess. Firstly, you can see that some of the charts have thick bars that are as expected however, half of the charts are rendered with little thin bars. The IntStringDomain, StringInt, and StringString charts have bars that are drawn outside of the designated chart area. Charts such as the IntInt and IntIntDomain chart do not show the righthand x-axis value. Although some of the chart data may not make sense the way it is presented which attribute is the x-axis or y-axis, the charts should be bullet proof. I have attached the screen shots. can't find a way to post he app sorry. Here are the charts, each one also shows the code that generated it. For those of a nervous disposition, look away now.
0
0
22
11h
In-App Purchase stuck in “Waiting for Review”
I’m wondering if anyone has experienced this recently. I have a non-consumable In-App Purchase that has been stuck in “Waiting for Review”. Details: IAP type: Non-Consumable Status: Waiting for Review No missing metadata No “Developer Action Needed” message App Review Screenshot and review information are complete Associated app version has already been approved Support case has been opened with Apple What’s confusing is that another non-consumable IAP for the same app was approved within a few hours earlier, so the IAP configuration appears to be valid. The current IAP has never moved to “In Review” and has remained in “Waiting for Review” the entire time. Has anyone seen an IAP remain in Waiting for Review for multiple days without any rejection or metadata issues? If so, was there anything that resolved it other than waiting for Apple Support? Any insights would be appreciated. Thanks 😊
1
0
48
11h
Documentation for group subscription renewals
I just caught the video for group and organization subscriptions. I haven't yet found documentation that describes how renewals work for the auto-renewable subscriptions when bought for a group. To reuse the video example of a run club, a coach might get a bulk of subscriptions for the team, for that season (or year). The next year might have a different number of club members, a mix of both new members, as well as some lapsed ones. The MDM portion talks about seat assignment so I think that would cover it for organizations, but what about groups?
1
0
60
12h
MR app to obscure exterior views from a moving simulator rig
My cousin implanted an itch I'd like to scratch. She does some academic psycho-neurological research that I don't fully understand. But in talking it sounds like mixed reality in the AVP might facilitate a type of research that she's pursuing. I just don't know if such a thing is currently possible with the AVP given how it treats physically moving frames of reference. The idea is to have subjects in a motion vehicle simulator rig, able to operate it and see the interior of the vehicle/gauges/etc. But at times and in specific ways, obscure the views out of the "windows" of the vehicle. The obvious problem here is that the AVP doesn't like being in a dynamically moving frame of reference. This seems to be beyond what "travel mode" is intended for. They need to bump and turn the subjects to get the responses they're studying, so not a smooth ride like on a plane or train. The interior of the simulator rig is a "known object" and can be modeled. I just watched the new video about training/tracking a hand-held object via Create ML. Could a similar approach from a hand-held object be applied to the user's surroundings - the mocked up vehicle interior and its window frames? We'd then apply an obscuring blur or even just an opaque polygon to that "window" while the simulator rig (and thus the user) is in motion? The alignment of the blur/polygon doesn't need to have perfect tracking and registration. Update rate does not need to be low millisecond, but full second updates might make motion sickness worse. Also, am I correct in inferring that object tracking should be free from major drift over the course of tens of minutes? A stretch: would it be possible to counteract the illumination from room light sources so that the movement of light/dark is reduced on the interior of the "vehicle" while it is moving? I also noticed in the new "Explore enhancements to visionOS object tracking" video that some of the effect of overlaying MR elements onto something that is visually passed through is being demonstrated on an iPhone. Could a proof of concept of this app(?) be "mocked up" using an iPhone as a basis to justify the expense of buying the AVP? Hold the phone while the rig is moving, track the interior and blur/"open" the windows as seen on the phone screen?
0
0
13
12h
Question on PCS Zone corruption recovery
Hi all - figured I would kick off with a CloudKit question. Recently in development of a multi-device app I got into a state where all iOS devices could not write to the (production) CloudKit container - however macOS could still write (multi-device SwiftUI code). After ruling out a lot of other things it seemed like there had been some corruption in the production zone's PCS key chain. The only fix was deleting the zone from the CloudKit Console (safe for my pre-release beta data, but destructive). Is there a safer or developer-accessible recovery path for PCS chain corruption? Is this situation detectable earlier, or is there guidance on avoiding it during pre-release testing? The error in the logs in this scenario had "overallStatus":"USER_ERROR", "error":"BAD_REQUEST", "returnedRecordTypes":"_pcs_data".
1
0
74
12h
StoreKit Product Retrieval Issue During App Review
Hello, We are contacting you regarding an issue we are currently experiencing during the App Review process related to In-App Purchases and StoreKit product retrieval. After extensive internal testing and investigation, we believe the behavior we are seeing is identical to the issue discussed in the following Apple Developer Forum thread: https://developer.apple.com/forums/thread/827016 Our application was rejected under Guideline 2.1 - Performance because the subscription plans reportedly failed to load during review. According to the review notes, the In-App Purchase product list appeared empty in the review environment, which prevented the paywall from loading correctly. We would like to provide additional technical context because, despite significant testing efforts on our side, we have been unable to reproduce this behavior outside of the App Review environment. The exact same binary that was reviewed by App Review has been thoroughly tested by us through TestFlight on multiple physical devices, including iPhone and iPad devices, using multiple Sandbox tester accounts and different network conditions. In all of our tests, the subscription system functions correctly and consistently. Specifically, we verified that: StoreKit successfully retrieves all configured subscription products RevenueCat offerings load correctly without timeout or empty states Localized pricing information is displayed properly Subscription packages appear correctly in the paywall UI Purchase flows complete successfully Restore purchases functionality works correctly Products are returned both on cold launch and repeated application launches The issue does not occur intermittently in TestFlight or Sandbox testing on our side We also carefully reviewed our App Store Connect configuration and verified the following items multiple times: All In-App Purchase subscriptions are attached to the submitted app version Product identifiers used in the application code exactly match the identifiers configured in App Store Connect All products are marked as “Cleared for Sale” Paid Applications Agreement has been accepted and remains active Tax and banking information are complete and active Subscription localization settings are configured properly Pricing information is active and visible The products are available in the storefronts being tested The submitted binary is identical to the binary tested successfully through TestFlight Additionally, we implemented defensive handling in the application to minimize the impact of temporary StoreKit failures. The application now includes: Retry logic for offerings retrieval Graceful fallback handling for empty offerings Protection against infinite loading states Additional RevenueCat and StoreKit logging UI fallbacks when products temporarily fail to load Despite these safeguards, the review feedback still indicates that the products are not being returned in the App Review environment. At this point, because the issue cannot be reproduced externally and only appears during App Review, we suspect there may be an intermittent or environment-specific issue affecting StoreKit product retrieval in the review sandbox environment. One important detail is that the exact same build consistently works in TestFlight immediately before and after submission. This makes the behavior particularly difficult for us to diagnose because there appears to be no configuration difference between our successful tests and the App Review scenario. We also understand from Apple documentation and previous App Review communication that In-App Purchases are tested within an Apple-provided sandbox environment. Based on the evidence currently available to us, the failure appears to occur specifically within that review sandbox process rather than within the application logic itself. If possible, we would greatly appreciate assistance with the following: Verifying whether StoreKit product retrieval is functioning correctly in the App Review sandbox environment Confirming whether the review device successfully established communication with App Store sandbox services Providing any available diagnostic logs related to the failed product request Confirming whether the product identifiers were visible to StoreKit during review Sharing any guidance on how we may reproduce the App Review behavior locally Clarifying whether there are known intermittent issues affecting StoreKit product loading during App Review We are fully committed to resolving the issue and ensuring complete compliance with App Store requirements. However, because the issue currently appears environment-specific and non-reproducible from our side, we are struggling to determine what additional changes are necessary. If there are any additional diagnostics, logging methods, StoreKit verification steps, or App Review recommendations you would like us to implement, we would be happy to do so immediately. Thank you very much for your assistance, support, and time. We sincerely appreciate your help in investigating this issue. Best regards, Mert Akgün
1
1
123
12h
Game Mode for games run by game launcher apps
If you have a "launcher-type app" (a regular macOS app bundle) which is used to launch the actual game executable (a non-bundled executable, such as a Java game), Game Mode does not seem to work as desired in this case. If the launcher app has the appropriate LSSupportsGameMode and LSApplicationCategoryType set, the launcher app will activate Game Mode if fullscreened but the actual game will not (FB18026957). Is there a workaround for this? It also seems like the system hardcodes some apps to act as "game launcher apps" which do have the desired behavior - for example, if you have a sample app set to Steam's bundle identifier (or just use Steam to run the program) and have this architecture where it runs another executable which is the real game, then that game can inherit Game Mode, which is also supported by system logs in Console (note the "launcher" labelReason): default 17:11:05.008533-0400 gamepolicyd Found game GameProcess(Optional("java"), pid=33754, euid=501, labelReason=launcher, launchedBy=Steam) Is there a way to opt into or apply for this behavior for our own apps? I previously asked this on the forums but I'm also wondering if any new developments have occurred since then.
Replies
0
Boosts
0
Views
69
Activity
11h
Cloudkit sharing available in swift instead Core Kit
Hi there, as far as I know CloudKit sharing is only available when using Core Kit coding instead swift. Are you okaying to open that posibility in further versions of swift?
Replies
6
Boosts
0
Views
125
Activity
11h
NSPersistentCloudKitContainer doesn't report "Quota Exceeded" through notification
When subscribing to NSPersistentCloudKitContainer.eventChangedNotification events, quota exceeded events aren't delivered to the app at runtime. I get CKError.partialFailure, but without any additional information in any of the properties. https://developer.apple.com/documentation/cloudkit/ckerror/code/partialfailure states information should be available, but it isn't. When a debugger is attached, the information is logged by another process, but my app cannot access that at runtime to provide users with additional information. Is there any workaround to get this to work? References: Older post: https://forums.developer.apple.com/forums/thread/696523 FB13773922
Replies
4
Boosts
0
Views
131
Activity
11h
App Stuck in Review for More Than 4 Weeks
Is anyone else experiencing unusually long App Review times? My app has been in review for about a month now with no progress. After waiting for so long, I cancelled and resubmitted it twice, hoping it might help, but the situation remains exactly the same. I've also contacted App Review and submitted a request for an update, but I haven't received any response yet. At this point, I'm wondering if anyone else has gone through something similar recently. How long did it take to get resolved, and is there anything else I can do besides continuing to wait?
Replies
1
Boosts
0
Views
34
Activity
11h
The requested app is not available or doesn't exist
Hey everyone, hoping someone here has seen this before because I'm losing my mind. I uploaded my first TestFlight build yesterday and added two internal testers. Both of them accept the invite fine, but the moment they tap Install in the TestFlight app, they get: ▎ "The requested app is not available or does not exist" My developer account is about a month old, but yesterday was the first time I actually pushed a build to App Store Connect. I've spent the last several hours triple-checking every setting and as far as I can tell, everything looks right: Free Apps Agreement is Active under Business Price Schedule is set to USD 0 (Free) App is available in 175 countries Bundle ID matches between my project and App Store Connect Build metadata shows App Uses Non-Exempt Encryption: No (and the same key is in my Info.plist) The build status in my Internal Testing group "Team" is Testing with the green checkmark Both testers were added under Users and Access first, then to the internal group One tester shows "Accepted" status, but the Devices column is still empty — so the invite went through but the install never actually reaches the phone Tester is on iPhone running iOS 26, my build's minimum iOS is 18.0, so that's not it I've uploaded 3 builds at this point (1.0.0 (2), (3), and (4)) — all of them show "Testing" in the group. None of them install. Things I've tried so far: Force-quitting and reopening TestFlight on the tester's phone Resending the invite Disabling Vision Pro testing in the group settings (there was a "Version 1.0 is not compatible" warning on the Vision Pro section in Pricing & Availability) Asking a second person to try — same error Any pointers appreciated. I've been at this for hours and I'm out of ideas. Happy to share screenshots or more details if it helps. Thanks 🙏
Replies
1
Boosts
0
Views
24
Activity
11h
MetalFX upscaler/denoiser and instant changes
Hi, What's the best way to handle drastic changes in scene charateristics with the new MTLFXTemporalDenoisedScaler? Let's say a visible object of the scene radically changes its material properties. I can modify the albedo and roughness textures consequently. But I suspect the history will be corrupted. Blending visual information between the new frame and the previous ones might be a nonsense. I guess the problem should be the same when objects appear or disappear instantly. Is the upsacler manage these events for us (by lowering blending), or should we use the reactive or the denoise strength mask or something like that to handle them?
Replies
3
Boosts
0
Views
293
Activity
11h
Swift Charts are being rendered very higgledy piggledy
I have raised a Feedback FB23015978 This applied to Xcode/Ios 27/26 and maybe earlier. This issue relates to ‘Charts’ This issue exists back to iOS 26 and maybe before. I have provided an app that creates a simple table of integer values representing a summary of scores achieved in 10m Air Pistol shooting. It is genuine data that I want to display certain aspects of. The the counts represent the number of times that particular score was achieved during a 60 shot qualification match. The graph I want to show is the spread of the number of 10s, 9s and hopefully not to many 8s or less. To say that this was a nightmare is a massive understatement. To narrow down the issue I have created an app whose sole purpose is to represent that real world data. Fundamentally, the score and count are integer values. I have created a set of view that display a bar chart of the data representing the values as Score Count ——————— Int Int String Int Int String String String Furthermore, I have added a version of each of the above using a domain such that any values with a count of zero up to the first non-zero value are excluded from the charts. Each screenshot of the chart also show the text for the actual Chart view. As can be seen by visual inspection, it is pretty much a total mess. Firstly, you can see that some of the charts have thick bars that are as expected however, half of the charts are rendered with little thin bars. The IntStringDomain, StringInt, and StringString charts have bars that are drawn outside of the designated chart area. Charts such as the IntInt and IntIntDomain chart do not show the righthand x-axis value. Although some of the chart data may not make sense the way it is presented which attribute is the x-axis or y-axis, the charts should be bullet proof. I have attached the screen shots. can't find a way to post he app sorry. Here are the charts, each one also shows the code that generated it. For those of a nervous disposition, look away now.
Replies
0
Boosts
0
Views
22
Activity
11h
In-App Purchase stuck in “Waiting for Review”
I’m wondering if anyone has experienced this recently. I have a non-consumable In-App Purchase that has been stuck in “Waiting for Review”. Details: IAP type: Non-Consumable Status: Waiting for Review No missing metadata No “Developer Action Needed” message App Review Screenshot and review information are complete Associated app version has already been approved Support case has been opened with Apple What’s confusing is that another non-consumable IAP for the same app was approved within a few hours earlier, so the IAP configuration appears to be valid. The current IAP has never moved to “In Review” and has remained in “Waiting for Review” the entire time. Has anyone seen an IAP remain in Waiting for Review for multiple days without any rejection or metadata issues? If so, was there anything that resolved it other than waiting for Apple Support? Any insights would be appreciated. Thanks 😊
Replies
1
Boosts
0
Views
48
Activity
11h
Is the Accessory Picker designed to show duplicates of the same display item?
Like in the case that two products are advertising with the same company identifier, both matching a single display item passed in when displaying the accessory picker. Would it be expected for two items to show in the accessory picker, one for each advertising product?
Replies
3
Boosts
0
Views
148
Activity
11h
Documentation for group subscription renewals
I just caught the video for group and organization subscriptions. I haven't yet found documentation that describes how renewals work for the auto-renewable subscriptions when bought for a group. To reuse the video example of a run club, a coach might get a bulk of subscriptions for the team, for that season (or year). The next year might have a different number of club members, a mix of both new members, as well as some lapsed ones. The MDM portion talks about seat assignment so I think that would cover it for organizations, but what about groups?
Replies
1
Boosts
0
Views
60
Activity
12h
Bug genshin iPadOS 27 bêta
Le jeu genshin impact crash direct au lancement impossible de joué j‘ai eu beau décharger l‘appli et réessayer de la télécharger elle bug et crash direct
Replies
0
Boosts
0
Views
8
Activity
12h
SwiftUI - How to beggin as an Android Developer
As someone coming from Android development, I’m trying to learn how to think the SwiftUI way. For beginners building real-world apps, what mental models matter most around state management, navigation, and structuring screens so the app can scale as it grows?
Topic: UI Frameworks SubTopic: SwiftUI
Replies
0
Boosts
0
Views
17
Activity
12h
MR app to obscure exterior views from a moving simulator rig
My cousin implanted an itch I'd like to scratch. She does some academic psycho-neurological research that I don't fully understand. But in talking it sounds like mixed reality in the AVP might facilitate a type of research that she's pursuing. I just don't know if such a thing is currently possible with the AVP given how it treats physically moving frames of reference. The idea is to have subjects in a motion vehicle simulator rig, able to operate it and see the interior of the vehicle/gauges/etc. But at times and in specific ways, obscure the views out of the "windows" of the vehicle. The obvious problem here is that the AVP doesn't like being in a dynamically moving frame of reference. This seems to be beyond what "travel mode" is intended for. They need to bump and turn the subjects to get the responses they're studying, so not a smooth ride like on a plane or train. The interior of the simulator rig is a "known object" and can be modeled. I just watched the new video about training/tracking a hand-held object via Create ML. Could a similar approach from a hand-held object be applied to the user's surroundings - the mocked up vehicle interior and its window frames? We'd then apply an obscuring blur or even just an opaque polygon to that "window" while the simulator rig (and thus the user) is in motion? The alignment of the blur/polygon doesn't need to have perfect tracking and registration. Update rate does not need to be low millisecond, but full second updates might make motion sickness worse. Also, am I correct in inferring that object tracking should be free from major drift over the course of tens of minutes? A stretch: would it be possible to counteract the illumination from room light sources so that the movement of light/dark is reduced on the interior of the "vehicle" while it is moving? I also noticed in the new "Explore enhancements to visionOS object tracking" video that some of the effect of overlaying MR elements onto something that is visually passed through is being demonstrated on an iPhone. Could a proof of concept of this app(?) be "mocked up" using an iPhone as a basis to justify the expense of buying the AVP? Hold the phone while the rig is moving, track the interior and blur/"open" the windows as seen on the phone screen?
Replies
0
Boosts
0
Views
13
Activity
12h
Kerberos updates
Are there any Kerberos feature or behavior changes in macOS 27?
Replies
2
Boosts
1
Views
70
Activity
12h
Pay for subscription over 12 months support in other countries
Can you share the reasons why the new payment model for subscriptions is not supported in the US? Maybe this is coming in the future but not announced yet. I didn't see anything in the StoreKit announcements saying it was extended but that doesn't mean I didn't miss something.
Replies
1
Boosts
0
Views
43
Activity
12h
iPhone's battery health
"My iPhone's battery health reading seems off. Even though it says 80% health, it instantly drops from 40% to 1%. The charge cycle count is already at 903."♻️
Replies
0
Boosts
0
Views
14
Activity
12h
A really long waitlist
Since i got the iPadOS27 update signed in the waitlist and haven’t got any new yet
Replies
2
Boosts
0
Views
25
Activity
12h
Agents in Xcode: Codex Sign In not working
Hey all, the codex sign in isn't working for me in Agents. I am using the 26.5 release candidate version. It always says "Not Signed In". I have completed the Sign In process multiple times. Anyone else seeing this? I have filed Feedback FB22732574
Replies
19
Boosts
5
Views
914
Activity
12h
Question on PCS Zone corruption recovery
Hi all - figured I would kick off with a CloudKit question. Recently in development of a multi-device app I got into a state where all iOS devices could not write to the (production) CloudKit container - however macOS could still write (multi-device SwiftUI code). After ruling out a lot of other things it seemed like there had been some corruption in the production zone's PCS key chain. The only fix was deleting the zone from the CloudKit Console (safe for my pre-release beta data, but destructive). Is there a safer or developer-accessible recovery path for PCS chain corruption? Is this situation detectable earlier, or is there guidance on avoiding it during pre-release testing? The error in the logs in this scenario had "overallStatus":"USER_ERROR", "error":"BAD_REQUEST", "returnedRecordTypes":"_pcs_data".
Replies
1
Boosts
0
Views
74
Activity
12h
StoreKit Product Retrieval Issue During App Review
Hello, We are contacting you regarding an issue we are currently experiencing during the App Review process related to In-App Purchases and StoreKit product retrieval. After extensive internal testing and investigation, we believe the behavior we are seeing is identical to the issue discussed in the following Apple Developer Forum thread: https://developer.apple.com/forums/thread/827016 Our application was rejected under Guideline 2.1 - Performance because the subscription plans reportedly failed to load during review. According to the review notes, the In-App Purchase product list appeared empty in the review environment, which prevented the paywall from loading correctly. We would like to provide additional technical context because, despite significant testing efforts on our side, we have been unable to reproduce this behavior outside of the App Review environment. The exact same binary that was reviewed by App Review has been thoroughly tested by us through TestFlight on multiple physical devices, including iPhone and iPad devices, using multiple Sandbox tester accounts and different network conditions. In all of our tests, the subscription system functions correctly and consistently. Specifically, we verified that: StoreKit successfully retrieves all configured subscription products RevenueCat offerings load correctly without timeout or empty states Localized pricing information is displayed properly Subscription packages appear correctly in the paywall UI Purchase flows complete successfully Restore purchases functionality works correctly Products are returned both on cold launch and repeated application launches The issue does not occur intermittently in TestFlight or Sandbox testing on our side We also carefully reviewed our App Store Connect configuration and verified the following items multiple times: All In-App Purchase subscriptions are attached to the submitted app version Product identifiers used in the application code exactly match the identifiers configured in App Store Connect All products are marked as “Cleared for Sale” Paid Applications Agreement has been accepted and remains active Tax and banking information are complete and active Subscription localization settings are configured properly Pricing information is active and visible The products are available in the storefronts being tested The submitted binary is identical to the binary tested successfully through TestFlight Additionally, we implemented defensive handling in the application to minimize the impact of temporary StoreKit failures. The application now includes: Retry logic for offerings retrieval Graceful fallback handling for empty offerings Protection against infinite loading states Additional RevenueCat and StoreKit logging UI fallbacks when products temporarily fail to load Despite these safeguards, the review feedback still indicates that the products are not being returned in the App Review environment. At this point, because the issue cannot be reproduced externally and only appears during App Review, we suspect there may be an intermittent or environment-specific issue affecting StoreKit product retrieval in the review sandbox environment. One important detail is that the exact same build consistently works in TestFlight immediately before and after submission. This makes the behavior particularly difficult for us to diagnose because there appears to be no configuration difference between our successful tests and the App Review scenario. We also understand from Apple documentation and previous App Review communication that In-App Purchases are tested within an Apple-provided sandbox environment. Based on the evidence currently available to us, the failure appears to occur specifically within that review sandbox process rather than within the application logic itself. If possible, we would greatly appreciate assistance with the following: Verifying whether StoreKit product retrieval is functioning correctly in the App Review sandbox environment Confirming whether the review device successfully established communication with App Store sandbox services Providing any available diagnostic logs related to the failed product request Confirming whether the product identifiers were visible to StoreKit during review Sharing any guidance on how we may reproduce the App Review behavior locally Clarifying whether there are known intermittent issues affecting StoreKit product loading during App Review We are fully committed to resolving the issue and ensuring complete compliance with App Store requirements. However, because the issue currently appears environment-specific and non-reproducible from our side, we are struggling to determine what additional changes are necessary. If there are any additional diagnostics, logging methods, StoreKit verification steps, or App Review recommendations you would like us to implement, we would be happy to do so immediately. Thank you very much for your assistance, support, and time. We sincerely appreciate your help in investigating this issue. Best regards, Mert Akgün
Replies
1
Boosts
1
Views
123
Activity
12h