Search results for

“A Summary of the WWDC25 Group Lab”

10,642 results found

Post

Replies

Boosts

Views

Activity

Reply to App group broken on Sequoia
I’m not sure what’s going wrong here but I have a couple of diagnostics tests for you to run. Both require you to get your file provider started. Once you have that: Use launchctl procinfo to check whether the process has the entitlements validated flag set. App Groups: macOS vs iOS: Working Towards Harmony has an explanation of how to do this. Use codesign to check the entitlements of the running process: % codesign -d --entitlements - PID where PID is the process ID. What do you see? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: Code Signing SubTopic: Entitlements Tags:
3w
Auto-renewable subscriptions stuck in "Waiting for Review" causing StoreKit products unavailable during App Review
Hi Apple Developer Forums, I am experiencing a repeated issue with auto-renewable subscriptions during App Review for my iOS app. The app uses RevenueCat for subscription management. The subscription products exist in App Store Connect and are correctly configured, but they remain in Waiting for Review. During App Review, the reviewer attempts to access the subscription paywall and receives an error stating that subscriptions are unavailable. This appears to happen because StoreKit cannot fetch the products while they are still waiting for review. This creates a loop: Subscriptions exist in App Store Connect and are in Waiting for Review App Review installs the app StoreKit cannot return the subscription products yet RevenueCat returns an offerings_fetch_failed error The reviewer sees subscriptions unavailable The app is rejected before the subscriptions are approved We have thoroughly verified the configuration: • Subscription group exists • All products are inside the group • Product IDs m
6
0
167
3w
Is Screen Time trapped inside DeviceActivityReport on purpose?
I can see the user’s real daily Screen Time perfectly inside a DeviceActivityReport extension on a physical device. It’s right there. But the moment I try to use that exact total inside my main app (for today’s log and a leaderboard), it dosnt work. I’ve tried, App Groups, Shared UserDefaults, Writing to a shared container file, CFPreferences Nothing makes it across. The report displays fine, but the containing app never receives the total. If this is sandboxed by design, I’d love confirmation. Thanks a lot
2
0
542
3w
Reply to Auto-renewable subscriptions stuck in "Waiting for Review" causing StoreKit products unavailable during App Review
I am afraid I don't follow your long, winding story. The In-App Purchases and Subscriptions section will appear whenever you create a new software update, provided that you have a subscription group that has not been submitted to review. It sounds to me that you just need to create a new group with different product identifiers. I don't know anything about RevenueCat, though. I don't know why they use it. I would consider making the story concise if I were you.
3w
Inquiry: iOS capability to read EMV credit/debit cards via NFC (Core NFC) and acceptable alternatives
Hello Apple Developer Technical Support Team, I’m working on an iOS banking/security SDK and we’re trying to match an Android feature that reads payment cards via NFC (EMV). On Android, this is implemented using an NFC scanning screen (e.g., “NfcScanActivity”) that can read EMV data from contactless credit/debit cards. Could you please clarify the current iOS capabilities and App Store policy around this? On iOS, is it currently possible for a third-party App Store app to read contactless credit/debit cards using Core NFC (i.e., accessing EMV application data/AIDs from payment cards)? If this is possible, what are the supported APIs/frameworks and any entitlement requirements (if applicable)? If this is not possible for App Store apps, could you recommend the closest acceptable alternatives for achieving a similar user outcome? For example: Using Apple Pay / PassKit flows for payment-related experiences Card scanning alternatives (camera-based OCR) for capturing card details (if allowed) Using an external cer
1
0
97
3w
Reply to App group broken on Sequoia
OK, I've successfully changed the app group to iOS style (group.com.myorg.MyApp)... and it hasn't fixed the problem. It's working on older versions, but still failing on Sequoia. To confirm: Both the main app and extension have an explicit app ID (com.myorg.MyApp and com.myorg.MyApp.EMPFileProvider, respectively). I have added an App Group identifier on the website for group.com.myorg.MyApp -- the website won't let me add one in the old macOS format (I understand this is normal). On the website, in the Identifier entry for each component, I've added group.com.myorg.MyApp to the existing App Group set. This has required me to re-generate the provisioning profiles. On the Profiles page, I regenerated the profiles (by choosing Edit and then Save rather than deleting and re-creating them). I downloaded and installed the new profiles. The resulting app works fine on a pre-Sequoia machine. But on the Sequoia one, the main app runs successfully (and can log to the Group Container)
Topic: Code Signing SubTopic: Entitlements Tags:
3w
Reply to Missing demo project
The companion sample code is this: Adopting SwiftData for a Core Data app, though it was updated for the SwiftData sessions in WWDC24 and WWDC25, and so is a bit different from the version published for WWDC23. Best, —— Ziqiao Chen  Worldwide Developer Relations.
3w
iOS Resumable Uploads Troubles
I am referencing: https://developer.apple.com/documentation/foundation/pausing-and-resuming-uploads Specifically: You can’t resume all uploads. The server must support the latest resumable upload protocol draft from the HTTP Working Group at the IETF. Also, uploads that use a background configuration handle resumption automatically, so manual resuming is only needed for non-background uploads. I have control over both the app and the server, and can't seem to get it to work automatically with a background url session. In other words, making multiple requests to get the offset then upload, easy but I am trying to leverage this background configuration resume OS magic. So anyone know what spec version does the server/client need to implement? The docs reference version 3, however the standard is now at like 11. Of course, I am trying out 3. Does anyone know how exactly this resume is implemented in iOS, and what exactly it takes care of? I assumed that I can just POST to a generic end point, say /files
1
0
93
3w
App Review Pending for Over 2 Months – Blocking Our Business Launch
Hello Apple Developer Community, I’m seeking advice regarding a prolonged App Store review that is currently impacting our business. Our app was submitted more than two months ago, and the review process has not progressed since then. During this time, we sent two support emails to Apple Developer Support requesting assistance. We did receive one response stating that the app was “in review”, but unfortunately the message did not provide any useful details, timeline, or further guidance, and there has been no additional update since then. This delay is now blocking our business launch, as the mobile application is a critical component of our product release. Without App Store approval, we cannot proceed with launching our service to customers. Summary of the situation: Submission date: More than 2 months ago Current status: Pending Support requests sent: 2 emails to Apple Developer Support Responses received: 1 reply saying the app was “in review,” but no meaningful information Impact: Blocking our p
4
0
308
3w
"access_denied" error during Sign in with Apple user migration (TN3159)
Hello, I am currently process of migrating an app from Team A to Team B and attempting to generate transfer identifiers using the migration endpoint: POST https://appleid.apple.com/auth/usermigrationinfo. Content-Type: application/x-www-form-urlencoded However, I am consistently receiving an { error: access_denied } response. [Current Configuration] Team A (Source): Primary App ID: com.example.primary Grouped App IDs: com.example.service (Services ID for Web) com.example.app (App ID for iOS - The one being transferred) All identifiers are under the same App Group. Team B (Destination): New App ID and Key created. [Steps Taken] Created a Client Secret (JWT) using Team A's Key ID and Team ID. The sub (subject) in the JWT is set to the Primary App ID of Team A. Requesting with client_id (Primary App ID), client_secret (JWT), and user_token. [Questions] 1. App Group Impact: Does the fact that the App being transferred is a Grouped App ID (not the Primary) affect the usermigrati
1
0
136
3w
Access Screen Time total usage from main app when using DeviceActivityReportExtension
I am building a simple iOS app that shows the total phone usage time for today using the Screen Time APIs. Architecture: Main app → requests authorization using AuthorizationCenter.shared.requestAuthorization(for: .individual) → displays a DeviceActivityReport Report extension → DeviceActivityReportExtension → calculates total usage using DeviceActivityResults → shows the number in a SwiftUI view The report works correctly. The extension successfully calculates the total usage and displays it on screen. Example logic inside the report extension: for await activityData in data { for await segment in activityData.activitySegments { totalSeconds += segment.totalActivityDuration } } let totalMinutes = Int(totalSeconds / 60) The problem: I need the main app to access that number so I can store it daily in my own database. I tried to send the value from the extension to the main app using: App Group + UserDefaults(suiteName:) App Group + shared file (FileManager.containerURL) writing inside makeCo
1
0
93
3w
[FB22167174] PDFKit: `buttonWidgetState = .onState` ignored for non-first radio button annotations on `dataRepresentation()`
I've run into what appears to be a bug in PDFKit's radio button serialization. When creating a radio button group with PDFAnnotation, only the first annotation added via page.addAnnotation() gets a correct /AS entry in the written PDF — all other annotations always get /AS /Off, regardless of buttonWidgetState. Minimal reproduction func makeRadioButton(optionId: String, isSelected: Bool) -> PDFAnnotation { let ann = PDFAnnotation(bounds: CGRect(x: 0, y: 0, width: 20, height: 20), forType: .widget, withProperties: nil) ann.widgetFieldType = .button ann.widgetControlType = .radioButtonControl ann.fieldName = Choice ann.buttonWidgetStateString = optionId ann.buttonWidgetState = isSelected ? .onState : .offState return ann } let pdf = PDFDocument() let page = PDFPage() pdf.insert(page, at: 0) // Intend to select B page.addAnnotation(makeRadioButton(optionId: A, isSelected: false)) page.addAnnotation(makeRadioButton(optionId: B, isSelected: true)) page.addAnnotation(makeRadioButton(optionId: C, isSelec
1
0
69
3w
Reply to "Testflight is currently unavailable" message for all users
Same issue here. It started about 24 hours ago and I haven’t found a solution yet. Things I have already tried: • Rebuilding the app multiple times via GitHub Actions • Regenerating certificates / Match secrets • Waiting 24 hours after upload • Deleting the app and reinstalling • Deleting and reinstalling TestFlight • Restarting the phone multiple times • Verified I’m assigned to the internal tester group in App Store Connect • Confirmed the build status is Complete in App Store Connect The build installs and runs on my phone, but when I open the app page in TestFlight it shows “Couldn’t Load App – TestFlight is currently unavailable.” Also noticing the Apple Watch companion app will not install (stuck installing).
3w
Prolonged "Waiting for Review" status since Feb 19
Hello Apple Developer Community, I’m looking for advice regarding a prolonged App Store review that has been ongoing for some time now. Our mobile application was submitted to the App Store on Feb 19, 2026 at 7:06 AM, and since then the status has remained “Waiting for Review.” There has been no progress or change in status. Because review times are typically described as taking around 24–48 hours in many cases, the length of this delay has become concerning and somewhat unclear. At this point, I’m mainly trying to understand whether this is simply an unusually long queue or if there might be another issue affecting the review. We have not received any rejection, request for additional information, or communication related to the submission. App details: Apple ID: 6759366887 Summary of the situation: • Submission date: Feb 19, 2026 at 7:06 AM • Current status: Waiting for Review • No rejection or review notes received • No changes in status since submission I understand that review times can vary dep
1
0
241
3w
Reply to Driver Activation failure error code 9. Maybe Entitlements? Please help
It errors out almost immediately, but it's writing to the logs. Congratulations! Having been through this many times, I'm well aware of the mixed joy of FINALLY getting a driver to the point where it can log its own failure. I had been using automated signing, so I manually created and downloaded a profile, and received the same wildcard in it, even though we had requested and gotten approved for the vendor ID capability request with the specific vendor ID. My post here has all the background and the ultimate solution, but the summary is that you'll be using this for development builds: * ...and then resigning DEXT builds with the numeric value you were approved for once you're ready to distribute code. I wouldn't bother trying to sort out that process now, just keep in mind that you'll need to revisit this issue once you get closer to shipping. __ Kevin Elliott DTS Engineer, CoreOS/Hardware
Topic: App & System Services SubTopic: Drivers Tags:
3w
Reply to App group broken on Sequoia
I’m not sure what’s going wrong here but I have a couple of diagnostics tests for you to run. Both require you to get your file provider started. Once you have that: Use launchctl procinfo to check whether the process has the entitlements validated flag set. App Groups: macOS vs iOS: Working Towards Harmony has an explanation of how to do this. Use codesign to check the entitlements of the running process: % codesign -d --entitlements - PID where PID is the process ID. What do you see? Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic: Code Signing SubTopic: Entitlements Tags:
Replies
Boosts
Views
Activity
3w
Auto-renewable subscriptions stuck in "Waiting for Review" causing StoreKit products unavailable during App Review
Hi Apple Developer Forums, I am experiencing a repeated issue with auto-renewable subscriptions during App Review for my iOS app. The app uses RevenueCat for subscription management. The subscription products exist in App Store Connect and are correctly configured, but they remain in Waiting for Review. During App Review, the reviewer attempts to access the subscription paywall and receives an error stating that subscriptions are unavailable. This appears to happen because StoreKit cannot fetch the products while they are still waiting for review. This creates a loop: Subscriptions exist in App Store Connect and are in Waiting for Review App Review installs the app StoreKit cannot return the subscription products yet RevenueCat returns an offerings_fetch_failed error The reviewer sees subscriptions unavailable The app is rejected before the subscriptions are approved We have thoroughly verified the configuration: • Subscription group exists • All products are inside the group • Product IDs m
Replies
6
Boosts
0
Views
167
Activity
3w
Is Screen Time trapped inside DeviceActivityReport on purpose?
I can see the user’s real daily Screen Time perfectly inside a DeviceActivityReport extension on a physical device. It’s right there. But the moment I try to use that exact total inside my main app (for today’s log and a leaderboard), it dosnt work. I’ve tried, App Groups, Shared UserDefaults, Writing to a shared container file, CFPreferences Nothing makes it across. The report displays fine, but the containing app never receives the total. If this is sandboxed by design, I’d love confirmation. Thanks a lot
Replies
2
Boosts
0
Views
542
Activity
3w
Reply to Auto-renewable subscriptions stuck in "Waiting for Review" causing StoreKit products unavailable during App Review
I am afraid I don't follow your long, winding story. The In-App Purchases and Subscriptions section will appear whenever you create a new software update, provided that you have a subscription group that has not been submitted to review. It sounds to me that you just need to create a new group with different product identifiers. I don't know anything about RevenueCat, though. I don't know why they use it. I would consider making the story concise if I were you.
Replies
Boosts
Views
Activity
3w
Inquiry: iOS capability to read EMV credit/debit cards via NFC (Core NFC) and acceptable alternatives
Hello Apple Developer Technical Support Team, I’m working on an iOS banking/security SDK and we’re trying to match an Android feature that reads payment cards via NFC (EMV). On Android, this is implemented using an NFC scanning screen (e.g., “NfcScanActivity”) that can read EMV data from contactless credit/debit cards. Could you please clarify the current iOS capabilities and App Store policy around this? On iOS, is it currently possible for a third-party App Store app to read contactless credit/debit cards using Core NFC (i.e., accessing EMV application data/AIDs from payment cards)? If this is possible, what are the supported APIs/frameworks and any entitlement requirements (if applicable)? If this is not possible for App Store apps, could you recommend the closest acceptable alternatives for achieving a similar user outcome? For example: Using Apple Pay / PassKit flows for payment-related experiences Card scanning alternatives (camera-based OCR) for capturing card details (if allowed) Using an external cer
Replies
1
Boosts
0
Views
97
Activity
3w
Reply to App group broken on Sequoia
OK, I've successfully changed the app group to iOS style (group.com.myorg.MyApp)... and it hasn't fixed the problem. It's working on older versions, but still failing on Sequoia. To confirm: Both the main app and extension have an explicit app ID (com.myorg.MyApp and com.myorg.MyApp.EMPFileProvider, respectively). I have added an App Group identifier on the website for group.com.myorg.MyApp -- the website won't let me add one in the old macOS format (I understand this is normal). On the website, in the Identifier entry for each component, I've added group.com.myorg.MyApp to the existing App Group set. This has required me to re-generate the provisioning profiles. On the Profiles page, I regenerated the profiles (by choosing Edit and then Save rather than deleting and re-creating them). I downloaded and installed the new profiles. The resulting app works fine on a pre-Sequoia machine. But on the Sequoia one, the main app runs successfully (and can log to the Group Container)
Topic: Code Signing SubTopic: Entitlements Tags:
Replies
Boosts
Views
Activity
3w
Reply to Missing demo project
The companion sample code is this: Adopting SwiftData for a Core Data app, though it was updated for the SwiftData sessions in WWDC24 and WWDC25, and so is a bit different from the version published for WWDC23. Best, —— Ziqiao Chen  Worldwide Developer Relations.
Replies
Boosts
Views
Activity
3w
iOS Resumable Uploads Troubles
I am referencing: https://developer.apple.com/documentation/foundation/pausing-and-resuming-uploads Specifically: You can’t resume all uploads. The server must support the latest resumable upload protocol draft from the HTTP Working Group at the IETF. Also, uploads that use a background configuration handle resumption automatically, so manual resuming is only needed for non-background uploads. I have control over both the app and the server, and can't seem to get it to work automatically with a background url session. In other words, making multiple requests to get the offset then upload, easy but I am trying to leverage this background configuration resume OS magic. So anyone know what spec version does the server/client need to implement? The docs reference version 3, however the standard is now at like 11. Of course, I am trying out 3. Does anyone know how exactly this resume is implemented in iOS, and what exactly it takes care of? I assumed that I can just POST to a generic end point, say /files
Replies
1
Boosts
0
Views
93
Activity
3w
App Review Pending for Over 2 Months – Blocking Our Business Launch
Hello Apple Developer Community, I’m seeking advice regarding a prolonged App Store review that is currently impacting our business. Our app was submitted more than two months ago, and the review process has not progressed since then. During this time, we sent two support emails to Apple Developer Support requesting assistance. We did receive one response stating that the app was “in review”, but unfortunately the message did not provide any useful details, timeline, or further guidance, and there has been no additional update since then. This delay is now blocking our business launch, as the mobile application is a critical component of our product release. Without App Store approval, we cannot proceed with launching our service to customers. Summary of the situation: Submission date: More than 2 months ago Current status: Pending Support requests sent: 2 emails to Apple Developer Support Responses received: 1 reply saying the app was “in review,” but no meaningful information Impact: Blocking our p
Replies
4
Boosts
0
Views
308
Activity
3w
"access_denied" error during Sign in with Apple user migration (TN3159)
Hello, I am currently process of migrating an app from Team A to Team B and attempting to generate transfer identifiers using the migration endpoint: POST https://appleid.apple.com/auth/usermigrationinfo. Content-Type: application/x-www-form-urlencoded However, I am consistently receiving an { error: access_denied } response. [Current Configuration] Team A (Source): Primary App ID: com.example.primary Grouped App IDs: com.example.service (Services ID for Web) com.example.app (App ID for iOS - The one being transferred) All identifiers are under the same App Group. Team B (Destination): New App ID and Key created. [Steps Taken] Created a Client Secret (JWT) using Team A's Key ID and Team ID. The sub (subject) in the JWT is set to the Primary App ID of Team A. Requesting with client_id (Primary App ID), client_secret (JWT), and user_token. [Questions] 1. App Group Impact: Does the fact that the App being transferred is a Grouped App ID (not the Primary) affect the usermigrati
Replies
1
Boosts
0
Views
136
Activity
3w
Access Screen Time total usage from main app when using DeviceActivityReportExtension
I am building a simple iOS app that shows the total phone usage time for today using the Screen Time APIs. Architecture: Main app → requests authorization using AuthorizationCenter.shared.requestAuthorization(for: .individual) → displays a DeviceActivityReport Report extension → DeviceActivityReportExtension → calculates total usage using DeviceActivityResults → shows the number in a SwiftUI view The report works correctly. The extension successfully calculates the total usage and displays it on screen. Example logic inside the report extension: for await activityData in data { for await segment in activityData.activitySegments { totalSeconds += segment.totalActivityDuration } } let totalMinutes = Int(totalSeconds / 60) The problem: I need the main app to access that number so I can store it daily in my own database. I tried to send the value from the extension to the main app using: App Group + UserDefaults(suiteName:) App Group + shared file (FileManager.containerURL) writing inside makeCo
Replies
1
Boosts
0
Views
93
Activity
3w
[FB22167174] PDFKit: `buttonWidgetState = .onState` ignored for non-first radio button annotations on `dataRepresentation()`
I've run into what appears to be a bug in PDFKit's radio button serialization. When creating a radio button group with PDFAnnotation, only the first annotation added via page.addAnnotation() gets a correct /AS entry in the written PDF — all other annotations always get /AS /Off, regardless of buttonWidgetState. Minimal reproduction func makeRadioButton(optionId: String, isSelected: Bool) -> PDFAnnotation { let ann = PDFAnnotation(bounds: CGRect(x: 0, y: 0, width: 20, height: 20), forType: .widget, withProperties: nil) ann.widgetFieldType = .button ann.widgetControlType = .radioButtonControl ann.fieldName = Choice ann.buttonWidgetStateString = optionId ann.buttonWidgetState = isSelected ? .onState : .offState return ann } let pdf = PDFDocument() let page = PDFPage() pdf.insert(page, at: 0) // Intend to select B page.addAnnotation(makeRadioButton(optionId: A, isSelected: false)) page.addAnnotation(makeRadioButton(optionId: B, isSelected: true)) page.addAnnotation(makeRadioButton(optionId: C, isSelec
Replies
1
Boosts
0
Views
69
Activity
3w
Reply to "Testflight is currently unavailable" message for all users
Same issue here. It started about 24 hours ago and I haven’t found a solution yet. Things I have already tried: • Rebuilding the app multiple times via GitHub Actions • Regenerating certificates / Match secrets • Waiting 24 hours after upload • Deleting the app and reinstalling • Deleting and reinstalling TestFlight • Restarting the phone multiple times • Verified I’m assigned to the internal tester group in App Store Connect • Confirmed the build status is Complete in App Store Connect The build installs and runs on my phone, but when I open the app page in TestFlight it shows “Couldn’t Load App – TestFlight is currently unavailable.” Also noticing the Apple Watch companion app will not install (stuck installing).
Replies
Boosts
Views
Activity
3w
Prolonged "Waiting for Review" status since Feb 19
Hello Apple Developer Community, I’m looking for advice regarding a prolonged App Store review that has been ongoing for some time now. Our mobile application was submitted to the App Store on Feb 19, 2026 at 7:06 AM, and since then the status has remained “Waiting for Review.” There has been no progress or change in status. Because review times are typically described as taking around 24–48 hours in many cases, the length of this delay has become concerning and somewhat unclear. At this point, I’m mainly trying to understand whether this is simply an unusually long queue or if there might be another issue affecting the review. We have not received any rejection, request for additional information, or communication related to the submission. App details: Apple ID: 6759366887 Summary of the situation: • Submission date: Feb 19, 2026 at 7:06 AM • Current status: Waiting for Review • No rejection or review notes received • No changes in status since submission I understand that review times can vary dep
Replies
1
Boosts
0
Views
241
Activity
3w
Reply to Driver Activation failure error code 9. Maybe Entitlements? Please help
It errors out almost immediately, but it's writing to the logs. Congratulations! Having been through this many times, I'm well aware of the mixed joy of FINALLY getting a driver to the point where it can log its own failure. I had been using automated signing, so I manually created and downloaded a profile, and received the same wildcard in it, even though we had requested and gotten approved for the vendor ID capability request with the specific vendor ID. My post here has all the background and the ultimate solution, but the summary is that you'll be using this for development builds: * ...and then resigning DEXT builds with the numeric value you were approved for once you're ready to distribute code. I wouldn't bother trying to sort out that process now, just keep in mind that you'll need to revisit this issue once you get closer to shipping. __ Kevin Elliott DTS Engineer, CoreOS/Hardware
Topic: App & System Services SubTopic: Drivers Tags:
Replies
Boosts
Views
Activity
3w