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

PhotogrammetrySession(input: [PhotogrammetrySample]) Hangs or terminates
Providing clarity and response to this: https://origin-devforums.apple.com/forums/thread/827311 and https://developer.apple.com/forums/thread/827043?page=1#889020022 Feedback Report: I have created a feedback report as well like recommended with this ID: FB22823733, with more elaborate images of my implementation, also see here More clarity: Yes, this is for an iOS app(iOS 18+) but testing and debugging on Xcode(MacOS 15.7.7, M4 24GB), which traps or hangs on getting to [PhotogrammetrySample] even while using the lazy sequence and the contentsOf as specified in your docs. I also tried using the PhotogrammetrySession folder run but its still failed with : CoreOC.PhotogrammetrySession.Error 6 and I understand to mean alignment failed. What can be done or do you guys expose any functions that can be used to aid, or handle these internally, can't find any internally. The ObjectMasks are actually segmentation masks from an ML algorithm . To replicate try calling PhotogrammetrySession(input: [PhotogrammetrySample]) with contentsOf as captured on your documentation, even with like 30 image set or is there something I'm missing.
0
0
143
1d
Stuck in App Review
My App Sugar Cubes: Block Puzzle has been stuck in review Since early May. My other apps have been getting reviewed within 48 hr. Can you investigate why this app is not getting a review please. I have tried several status requests that promise a reply within 2 days. No reply. I have tried an expedited review. No reply. I have tried an App appeal. No reply. Thanks, Lance
2
1
152
2h
StoreKit 2 Product.displayPrice returns USD while purchase dialog shows EUR
Hi, I'm testing my first auto-renewable subscription using StoreKit 2 and TestFlight. When loading products via: let products = try await Product.products(for: ids) the product is returned successfully, but product.displayPrice shows: $4.99 even though: My App Store account is located in Germany. The app is only intended for the German market. The native Apple purchase sheet displays the correct price in EUR. The subscription pricing is configured correctly in App Store Connect. The subscription is still in "Ready to Submit / Prepare for Submission" state and has not yet been approved. Example: print(product.displayPrice) returns: $4.99 while the StoreKit purchase dialog shows: 5,99 € Has anyone seen this behavior before? Is this expected for new subscriptions in TestFlight/Sandbox before the first App Review approval, or could there be another reason why displayPrice differs from the actual purchase dialog? Thanks!
0
0
92
1d
App stuck in waiting for review
My app, Campsite Tonight, is an existing app and sits in waiting for review a lot longer than before. id1578612896 There Was feedback about not having an ability to delete an account which app always had. despite this, I built a new feature in most recent version to ideally address it more. The app has been in mostly waiting states and I’ve tried to escalate it to no success This has been very frustrating as app reviews used to take a day or two but now it’s been closer to a month due to all these delays. I have a bug that has caused me to lose paying users and I’m trying to address but can’t because of this long delay.
0
1
106
1d
QuickTime Player will not playback with MediaExtention
Hi Everyone! I am writing a media extension to playback old "Amiga" ANIM files, as a test project. I have build the following objects: MEFormatReader METrackReader MESampleCursor The subclassed objects seem fairly straightforward. Rather than create a Video Decoder, I followed the instructions in the SampleCursor object header, and use the function: loadSampleBufferContainingSamplesToEndCursor:completionHandler: to deliver an BGRA 8-bit image. This works great AVPlayer object in my Swift based test app, but QuickTime Player will not actually play the movie. If I scrub on QuickTime Player's timeline, I can watch the movie just fine. But if I click on the "Play" button. Nothing happens. For fun, I created a custom pixel type, and implemented a MEVideoDecoder object. This also works with my AVPlayer test app, but again, same problem with QuickTime Player. I have even generated a JPEG image in the SampleCursor, and that fails too. I am stumped on this. I do not see any way to have QuickTime Player work properly with my MediaExtension, nor is there any documentation as to what to do. Suggestions? bob
0
0
152
1d
Stuck On “Waiting for Review” for Weeks
My app has been stuck in “Waiting for Review” for a very long time and I’m honestly getting really frustrated. I already fixed all previous issues and submitted everything properly, but there has been no update at all. This delay is seriously affecting my launch plans and business operations. I understand reviews can take time, but the waiting period feels unusually long compared to my previous submissions. I have not received a response to multiple support requests for weeks. This is causing me quite a bit of stress as I don’t know what else I can do or how long this is going to last for. Has anyone else experienced this recently? Is there anything I can do to speed up the review process or get an update from Apple? I’d really appreciate any advice or shared experiences. Thank you.
0
1
67
1d
Guideline 3.1.1 when iOS app contains no purchase mechanism (freemium SaaS, web-only checkout)
Hi all, Looking for guidance from anyone who has navigated a similar 3.1.1 review. Our product is a freemium SaaS for creative groups (calendar, library, chat). It follows the same shape as Slack, Notion, Linear, Asana, etc.: Free tier exists and is fully usable Paid tiers are sold on our website via Stripe The iOS app is for participation: sign in, view sessions, RSVP, chat, edit groups, manage members The iOS app contains NO purchase UI, NO prices, NO plan/tier names, NO upgrade buttons, NO links to our pricing page, NO mention of paid features We've stripped the iOS build of everything subscription-related. Server error messages are sanitized before they reach the client so words like "plan", "subscription", "upgrade", "trial" never appear in the app. Settings has no billing section on iOS. Plan-limit errors are rephrased to neutral text ("Contact your group owner"). Despite all this, we've been rejected multiple times under Guideline 3.1.1 — most recently because reviewers observed that we "access subscriptions or premium content" (i.e. the account they signed in with has a paid plan that was activated on the web). Our question: Does Guideline 3.1.1 require us to implement In-App Purchase if: The iOS app contains no purchase mechanism, no prices, no upgrade UI, no mention of paid tiers All purchases happen on our website, before or outside the app The user's account simply happens to have a paid plan that unlocks higher limits Or is this a Reader App / 3.1.3(b) Multiplatform case, where we are allowed to NOT offer IAP as long as we don't promote external purchase inside the app? We've read 3.1.1, 3.1.3(b), and the Reader App guidance multiple times. Slack, Notion, Linear, Asana all ship iOS apps in this exact shape without IAP. We can't tell what distinguishes our case from theirs. If anyone has: Gotten clear guidance from App Review on this exact scenario Successfully argued 3.1.3(b) Multiplatform for a SaaS productivity app Or implemented IAP specifically because of 3.1.1 even though their app had no purchase UI — we'd love to hear how it went, what wording worked, and whether a 30-minute call with App Review was useful. Thanks!
0
0
25
1d
Seems Impossible to make Navigation Bar buttons Match UI
I am creating UI elements with glass backgrounds such as: UIVisualEffectView(effect: UIGlassEffect(style: .regular)) And UIButtons such as: var buttonConfig = UIButton.Configuration.glass() This gives the glass a dark background and white tint/labels when the device interface settings are dark, and conversely light backgrounds with black tint/labels when the interface mode is light. Perfect! Now enter the UINavigationBar buttons. I've spent a day trying every configuration possible to make them match the rest of the UI. But they have a mind of their own. They will flash different colors when scrolling the content. They do not respect the user interface mode. Out of desperation, I tried adding my own glass UIVisualEffectView behind the navigation bar and and disabled the button glass background with: someBarItem.hidesSharedBackground = true Even though I don't like that design as much as the individual glass buttons, it at least lets me match the rest of the UI. Alas that setting makes the animation to the next screen visually buggy. Hard to describe, but it's not acceptable. The only thing it seems I can do is make the content view start below the navigation bar area. But then I completely lose the glass effect - though at least I can make them match the rest of the UI and the push/pop animation isn't buggy. I realize I can opt out of glass entirely, but I want to use glass. The problem isn't glass. The problem is the navigation bar does not respect the user interface mode or allow us to set the glass type. I get the system trying to make the glass more legible, but, the buttons that I can set with UIButton.Configuration.glass() and UIGlassEffect(style: .regular) are always legible regardless of the background color because the tint/label color is the opposite of button background color. I've been a full time iOS developer for 15 years, and this is most frustrating UIKit changes I've ever seen. It's a step backward when it's impossible to make the navigation bar match the rest of the UI. It's a step backwards when the navigation bar flickers and changes. All that we need is a glass property for the UINavigationBarItems or UINavigationBarAppearance that works like UIGlassEffect or UIButton.Configuration glass configurations. Or default behavior that just respects traitCollection.userInterfaceStyle or overrideUserInterfaceStyle to begin with. Dark UserInterfaceStyle example. The top buttons should match the bottom UI elements, but does not seem possible.
Topic: UI Frameworks SubTopic: UIKit Tags:
0
0
219
1d
Cannot enroll personal Apple ID in Developer Program, company account already enrolled, same person, same devic
Hi all, I'm hitting a wall trying to enroll my personal Apple ID in the Apple Developer Program. My company Apple ID has been enrolled and active in the program for over a year. I now want to enroll my personal account as well so I can ship side projects under my own name. Both accounts belong to me. Both use the same iPhone, mac and the same phone number for 2FA. I'm not trying to run both signed in simultaneously, I just want both Apple IDs enrolled so I can switch between them when needed. Every time I try to enroll the personal account, it's rejected. The rejection doesn't give a specific reason (Your enrollment could not be completed.), but I'm fairly sure the conflict is around the shared phone number or device. I've reached out to Developer Support but haven't had luck getting through: Email support: over 10 days with no reply on my ticket Phone support: on hold for 3 hours before the call dropped automatically Posting here in case someone has been through the same setup. Specifically: Has anyone successfully enrolled two Apple IDs in the Developer Program where both accounts belong to the same person on the same device? Is the shared phone number actually the blocker, or could it be something else? Is there a recommended way to escalate Developer Support when tickets go unanswered? Any pointers appreciated.
0
0
240
1d
Enrollment stuck on "Pending" after payment charged (Individual, Colombia) — Case 102903928981
Hello Apple Developer Support, I enrolled in the Apple Developer Program as an individual and my $99 USD payment was successfully charged on May 26, 2026. However, my account still shows "Pending" / "Purchase your membership," even though the money was already debited. Enrollment type: Individual Account name: Edwin Gonzalez Region: Colombia Payment date: 2026-05-26 Web Order Number: D004874887 Sales Order Number: AEX4988955 Support Case ID: 102903928981 Two-Factor Authentication: Enabled No pending agreements in Apple Developer or App Store Connect I have NOT made a second payment to avoid duplicate charges Note: the payment was made with a card under a different billing name (my partner's), while my enrollment is individual under my own name. I am ready to provide my government-issued photo ID to verify my identity. Could an Apple team member please review my account and process the enrollment? This is blocking my iOS development. Thank you.
0
0
174
1d
Have any of you been in the “waiting for review” stage recently?
We've put a lot of effort into this update, not to mention all our marketing budget were geared towards its release. But obviously, the longer the app remains in the review process, the less up-to-date the version available in the App Store gets. Of course, we realize that sometimes things get very hectic and thank the people involved in the review for their efforts. But what can we do? Have you faced this situation before, and how did you handle it? We did file for expedited review but days gone by, and sadly, still waiting for review. Thank you everyone!
0
0
29
1d
Has anyone else been stuck in "Waiting for Review" lately?
As much as our team did a lot of work to update our app, we even did marketing plans for the release of the same. Regrettably, the more time our app spends under review, the more our app becomes outdated due to the version currently in use in the App Store. Please be assured that we know how busy the reviewers might be. However, at this stage, we are just hoping to receive help from people who have been through similar experiences before. Have any of you been in the same boat? Any information or guidance is appreciated? Thank you everyone.
1
0
112
1d
APNs token auth suddenly returns InvalidProviderToken for active team-scoped APNs key
I’m trying to diagnose an APNs provider authentication issue that began after APNs had previously been working. Summary: My iOS app can register for remote notifications and successfully sends its device token to my server. The app has the Push Notifications capability enabled in Xcode, the Bundle ID has Push Notifications enabled in Certificates, Identifiers & Profiles, and the APNs key is active in the Apple Developer portal. However, every server-side APNs send attempt now fails with: HTTP 403 {"reason":"InvalidProviderToken"} This happens against both sandbox and production APNs endpoints. App / account details: Bundle ID / apns-topic: app.terrasignal Team ID: 837F2XGDX Current APNs Key ID: HNW7XPK2H3 APNs key type: Apple Push Notifications service (APNs) Key configuration: Team scoped, Sandbox & Production Xcode signing team: David Buck / Team ID 837F2XGDX Push Notifications capability is enabled in Xcode Device token environment tested: sandbox Server clock verified against Apple/date header and matches UTC What works: iOS app launches successfully Push permission is granted Device token is generated Device registers with my server successfully Server stores the token as sandbox for bundle app.terrasignal What fails: Server-to-APNs provider authentication Direct HTTP/2 APNs request fails before notification delivery Failure reason is always InvalidProviderToken I tested three separate APNs keys: 34T746MWFV T9N75GU2AV HNW7XPK2H3 Each key was downloaded from the Developer portal, uploaded to the server, verified as a valid .p8 private key, and used with its matching Key ID. All produce the same InvalidProviderToken result. I also bypassed my APNs library and tested direct HTTP/2 + JOSE JWT signing. The direct APNs test also fails with the same response: HTTP status: 403 Response body: {"reason":"InvalidProviderToken"} Example direct APNs test details: Host: api.sandbox.push.apple.com Path: /3/device/ apns-topic: app.terrasignal apns-push-type: alert apns-priority: 10 JWT header: {"alg":"ES256","kid":"HNW7XPK2H3"} JWT payload includes iss: 837F2XGDX and current iat Key imports successfully with jose importPKCS8 JWT is generated successfully APNs rejects it with InvalidProviderToken I also tried production endpoint with the same result: Host: api.push.apple.com HTTP 403 {"reason":"InvalidProviderToken"} Things verified: System clock is correct Docker/server UTC time matches Apple Date header Bundle ID topic is app.terrasignal APNs key exists in the Apple Developer portal APNs service is enabled on the key Key is configured for Sandbox & Production Push Notifications capability is enabled for the app Xcode signing uses the same team The .p8 file is not empty or malformed The key imports successfully via jose/importPKCS8 The issue occurs before APNs evaluates the device token, because authentication fails first Question: What Apple-side account/key/app configuration state can cause multiple active APNs auth keys for the same team to return InvalidProviderToken, even when: the key is active, APNs is enabled, the Team ID matches, the Bundle ID topic matches, the server clock is correct, and a direct HTTP/2 APNs request with manually generated ES256 JWT also fails? Is there a way to force-refresh, repair, or re-sync APNs provider authentication for a Developer account / Bundle ID / APNs key?
4
1
262
18h
Can a developer sponsor app-specific privateCloudDatabase storage for users?
Hi, We are developing an iOS/watchOS app that uses CloudKit private database and CKShare to let athletes share training data with their coaches. Current architecture: Each athlete owns their data in their privateCloudDatabase. The athlete can share selected records with a coach using CKShare. The coach accesses the shared data through the sharedCloudDatabase. This works very well for privacy, ownership, and permission management. The issue: Many athletes do not have enough available personal iCloud storage. When their iCloud storage is full, our app cannot save/sync/share new records in their privateCloudDatabase. This breaks the coach-athlete sharing flow, even if the coach is paying for a subscription in our app. Question: Is there any Apple-supported way for an app developer, or a coach/team organization using our app, to sponsor, allocate, or purchase additional iCloud storage specifically for a user’s app-specific CloudKit private database data? What we would like to preserve: Records stay in the athlete’s privateCloudDatabase. The athlete remains the owner of the data. CKShare continues to manage sharing permissions and consent. The app or coach organization covers the storage cost, instead of requiring every athlete to upgrade their personal iCloud+ plan. I understand that: privateCloudDatabase data counts against the user’s personal iCloud storage quota. publicCloudDatabase data counts against the app/container quota. CloudKit Database app can be used to manage the app’s CloudKit containers. However, moving this data to publicCloudDatabase would require us to rebuild part of the permission and sharing model ourselves, and it would not be equivalent to user-owned private records shared via CKShare. So I would like to confirm: Is there any way to sponsor or allocate app-specific privateCloudDatabase storage for selected users? Is there any Apple Business, Managed Apple Account, enterprise, or developer program option that supports this for sports teams or organizations? If this is not supported, are the only Apple-native alternatives: asking users to upgrade iCloud+, moving shared/team data to publicCloudDatabase, or using a third-party/app-managed backend? Use case: Our app is used in strength training. A coach may manage many athletes. The coach is willing to pay for the subscription and storage, but athletes often do not want to pay for additional iCloud storage individually. Thanks.
2
0
126
1h
Subscription group localization "Rejected" while app is approved and live
Hi everyone, My iOS app is approved and live on the App Store. When I submitted it for review I had already created all my subscriptions, the APP review passed. But in the Subscriptions section I still see: Weekly, Monthly, Yearly plans all showing "Developer Action Needed" The English (U.S.) localization of the subscription group marked "Rejected" The frustrating part: Apple left no note or message explaining why. The only text shown is a generic line — "One or more of the subscriptions listed below requires your attention." There's nothing in the Resolution Center for this and no email with a reason. Since the app is already approved and released, do I need to submit a new app version, or can I resubmit the subscription metadata on its own? And what usually causes a subscription group localization to be rejected with no message when the app itself passed review? Thanks!
0
0
79
2d
Live activity issue
I’m running into an issue with Live Activities and was wondering if anyone else has seen something similar. Some users occasionally see a spinning/loading indicator instead of the normal Live Activity UI. The push payloads look valid and consistent across users, nothing appears to be missing or malformed. Has anyone encountered this before or knows what could cause the Live Activity to fall back into a loading state?
0
0
69
2d
App stuck in "Waiting for Review" for 23 days - Case ID 102895750215
Hello, My app Thalk (Apple ID: 6766675208) has been in "Waiting for Review" for 23 days, and I'd appreciate any guidance on what to check. Timeline: May 5, 2026: Initial submission, rejected May 6 (Guideline 2.1) May 7, 2026: Resubmitted with the issue addressed Today (May 30, 2026): Still "Waiting for Review," 23 days Submission details: Submission ID: a9f84eb4-8caa-4163-9cb5-4bfc717664e0 Developer Support Case ID: 102895750215 What I've already tried: Expedited review request (no response) Developer Support contact form (no response) Developer Support phone callback (completed, no further update) There are no outstanding messages from Apple in App Review, and App Review Information is complete. I just want to confirm the submission isn't stuck on something I need to address, and that it's progressing normally through the queue. Thank you.
2
1
130
1d
PhotogrammetrySession(input: [PhotogrammetrySample]) Hangs or terminates
Providing clarity and response to this: https://origin-devforums.apple.com/forums/thread/827311 and https://developer.apple.com/forums/thread/827043?page=1#889020022 Feedback Report: I have created a feedback report as well like recommended with this ID: FB22823733, with more elaborate images of my implementation, also see here More clarity: Yes, this is for an iOS app(iOS 18+) but testing and debugging on Xcode(MacOS 15.7.7, M4 24GB), which traps or hangs on getting to [PhotogrammetrySample] even while using the lazy sequence and the contentsOf as specified in your docs. I also tried using the PhotogrammetrySession folder run but its still failed with : CoreOC.PhotogrammetrySession.Error 6 and I understand to mean alignment failed. What can be done or do you guys expose any functions that can be used to aid, or handle these internally, can't find any internally. The ObjectMasks are actually segmentation masks from an ML algorithm . To replicate try calling PhotogrammetrySession(input: [PhotogrammetrySample]) with contentsOf as captured on your documentation, even with like 30 image set or is there something I'm missing.
Replies
0
Boosts
0
Views
143
Activity
1d
Stuck in App Review
My App Sugar Cubes: Block Puzzle has been stuck in review Since early May. My other apps have been getting reviewed within 48 hr. Can you investigate why this app is not getting a review please. I have tried several status requests that promise a reply within 2 days. No reply. I have tried an expedited review. No reply. I have tried an App appeal. No reply. Thanks, Lance
Replies
2
Boosts
1
Views
152
Activity
2h
Deleting an App in Prepare for Submission State
How do I delete my app which is in the prepare for submission state. My previous version was rejected and so I updated my version number to get back to the prepare for submission state, however I am still getting the same error which is "The app is unable to be removed right now" with no more information.
Replies
1
Boosts
0
Views
81
Activity
1d
StoreKit 2 Product.displayPrice returns USD while purchase dialog shows EUR
Hi, I'm testing my first auto-renewable subscription using StoreKit 2 and TestFlight. When loading products via: let products = try await Product.products(for: ids) the product is returned successfully, but product.displayPrice shows: $4.99 even though: My App Store account is located in Germany. The app is only intended for the German market. The native Apple purchase sheet displays the correct price in EUR. The subscription pricing is configured correctly in App Store Connect. The subscription is still in "Ready to Submit / Prepare for Submission" state and has not yet been approved. Example: print(product.displayPrice) returns: $4.99 while the StoreKit purchase dialog shows: 5,99 € Has anyone seen this behavior before? Is this expected for new subscriptions in TestFlight/Sandbox before the first App Review approval, or could there be another reason why displayPrice differs from the actual purchase dialog? Thanks!
Replies
0
Boosts
0
Views
92
Activity
1d
App stuck in waiting for review
My app, Campsite Tonight, is an existing app and sits in waiting for review a lot longer than before. id1578612896 There Was feedback about not having an ability to delete an account which app always had. despite this, I built a new feature in most recent version to ideally address it more. The app has been in mostly waiting states and I’ve tried to escalate it to no success This has been very frustrating as app reviews used to take a day or two but now it’s been closer to a month due to all these delays. I have a bug that has caused me to lose paying users and I’m trying to address but can’t because of this long delay.
Replies
0
Boosts
1
Views
106
Activity
1d
Replace MacOS app with Designed For iPad app
Wonder if there are any changes we need to make in App Store Connect to replace a MacOS app with "Designed For iPad" app? Already added "Mac (Designed For iPad)" supported destination in Xcode. Thanks.
Replies
0
Boosts
0
Views
57
Activity
1d
QuickTime Player will not playback with MediaExtention
Hi Everyone! I am writing a media extension to playback old "Amiga" ANIM files, as a test project. I have build the following objects: MEFormatReader METrackReader MESampleCursor The subclassed objects seem fairly straightforward. Rather than create a Video Decoder, I followed the instructions in the SampleCursor object header, and use the function: loadSampleBufferContainingSamplesToEndCursor:completionHandler: to deliver an BGRA 8-bit image. This works great AVPlayer object in my Swift based test app, but QuickTime Player will not actually play the movie. If I scrub on QuickTime Player's timeline, I can watch the movie just fine. But if I click on the "Play" button. Nothing happens. For fun, I created a custom pixel type, and implemented a MEVideoDecoder object. This also works with my AVPlayer test app, but again, same problem with QuickTime Player. I have even generated a JPEG image in the SampleCursor, and that fails too. I am stumped on this. I do not see any way to have QuickTime Player work properly with my MediaExtension, nor is there any documentation as to what to do. Suggestions? bob
Replies
0
Boosts
0
Views
152
Activity
1d
Stuck On “Waiting for Review” for Weeks
My app has been stuck in “Waiting for Review” for a very long time and I’m honestly getting really frustrated. I already fixed all previous issues and submitted everything properly, but there has been no update at all. This delay is seriously affecting my launch plans and business operations. I understand reviews can take time, but the waiting period feels unusually long compared to my previous submissions. I have not received a response to multiple support requests for weeks. This is causing me quite a bit of stress as I don’t know what else I can do or how long this is going to last for. Has anyone else experienced this recently? Is there anything I can do to speed up the review process or get an update from Apple? I’d really appreciate any advice or shared experiences. Thank you.
Replies
0
Boosts
1
Views
67
Activity
1d
Guideline 3.1.1 when iOS app contains no purchase mechanism (freemium SaaS, web-only checkout)
Hi all, Looking for guidance from anyone who has navigated a similar 3.1.1 review. Our product is a freemium SaaS for creative groups (calendar, library, chat). It follows the same shape as Slack, Notion, Linear, Asana, etc.: Free tier exists and is fully usable Paid tiers are sold on our website via Stripe The iOS app is for participation: sign in, view sessions, RSVP, chat, edit groups, manage members The iOS app contains NO purchase UI, NO prices, NO plan/tier names, NO upgrade buttons, NO links to our pricing page, NO mention of paid features We've stripped the iOS build of everything subscription-related. Server error messages are sanitized before they reach the client so words like "plan", "subscription", "upgrade", "trial" never appear in the app. Settings has no billing section on iOS. Plan-limit errors are rephrased to neutral text ("Contact your group owner"). Despite all this, we've been rejected multiple times under Guideline 3.1.1 — most recently because reviewers observed that we "access subscriptions or premium content" (i.e. the account they signed in with has a paid plan that was activated on the web). Our question: Does Guideline 3.1.1 require us to implement In-App Purchase if: The iOS app contains no purchase mechanism, no prices, no upgrade UI, no mention of paid tiers All purchases happen on our website, before or outside the app The user's account simply happens to have a paid plan that unlocks higher limits Or is this a Reader App / 3.1.3(b) Multiplatform case, where we are allowed to NOT offer IAP as long as we don't promote external purchase inside the app? We've read 3.1.1, 3.1.3(b), and the Reader App guidance multiple times. Slack, Notion, Linear, Asana all ship iOS apps in this exact shape without IAP. We can't tell what distinguishes our case from theirs. If anyone has: Gotten clear guidance from App Review on this exact scenario Successfully argued 3.1.3(b) Multiplatform for a SaaS productivity app Or implemented IAP specifically because of 3.1.1 even though their app had no purchase UI — we'd love to hear how it went, what wording worked, and whether a 30-minute call with App Review was useful. Thanks!
Replies
0
Boosts
0
Views
25
Activity
1d
Seems Impossible to make Navigation Bar buttons Match UI
I am creating UI elements with glass backgrounds such as: UIVisualEffectView(effect: UIGlassEffect(style: .regular)) And UIButtons such as: var buttonConfig = UIButton.Configuration.glass() This gives the glass a dark background and white tint/labels when the device interface settings are dark, and conversely light backgrounds with black tint/labels when the interface mode is light. Perfect! Now enter the UINavigationBar buttons. I've spent a day trying every configuration possible to make them match the rest of the UI. But they have a mind of their own. They will flash different colors when scrolling the content. They do not respect the user interface mode. Out of desperation, I tried adding my own glass UIVisualEffectView behind the navigation bar and and disabled the button glass background with: someBarItem.hidesSharedBackground = true Even though I don't like that design as much as the individual glass buttons, it at least lets me match the rest of the UI. Alas that setting makes the animation to the next screen visually buggy. Hard to describe, but it's not acceptable. The only thing it seems I can do is make the content view start below the navigation bar area. But then I completely lose the glass effect - though at least I can make them match the rest of the UI and the push/pop animation isn't buggy. I realize I can opt out of glass entirely, but I want to use glass. The problem isn't glass. The problem is the navigation bar does not respect the user interface mode or allow us to set the glass type. I get the system trying to make the glass more legible, but, the buttons that I can set with UIButton.Configuration.glass() and UIGlassEffect(style: .regular) are always legible regardless of the background color because the tint/label color is the opposite of button background color. I've been a full time iOS developer for 15 years, and this is most frustrating UIKit changes I've ever seen. It's a step backward when it's impossible to make the navigation bar match the rest of the UI. It's a step backwards when the navigation bar flickers and changes. All that we need is a glass property for the UINavigationBarItems or UINavigationBarAppearance that works like UIGlassEffect or UIButton.Configuration glass configurations. Or default behavior that just respects traitCollection.userInterfaceStyle or overrideUserInterfaceStyle to begin with. Dark UserInterfaceStyle example. The top buttons should match the bottom UI elements, but does not seem possible.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
0
Boosts
0
Views
219
Activity
1d
Cannot enroll personal Apple ID in Developer Program, company account already enrolled, same person, same devic
Hi all, I'm hitting a wall trying to enroll my personal Apple ID in the Apple Developer Program. My company Apple ID has been enrolled and active in the program for over a year. I now want to enroll my personal account as well so I can ship side projects under my own name. Both accounts belong to me. Both use the same iPhone, mac and the same phone number for 2FA. I'm not trying to run both signed in simultaneously, I just want both Apple IDs enrolled so I can switch between them when needed. Every time I try to enroll the personal account, it's rejected. The rejection doesn't give a specific reason (Your enrollment could not be completed.), but I'm fairly sure the conflict is around the shared phone number or device. I've reached out to Developer Support but haven't had luck getting through: Email support: over 10 days with no reply on my ticket Phone support: on hold for 3 hours before the call dropped automatically Posting here in case someone has been through the same setup. Specifically: Has anyone successfully enrolled two Apple IDs in the Developer Program where both accounts belong to the same person on the same device? Is the shared phone number actually the blocker, or could it be something else? Is there a recommended way to escalate Developer Support when tickets go unanswered? Any pointers appreciated.
Replies
0
Boosts
0
Views
240
Activity
1d
Enrollment stuck on "Pending" after payment charged (Individual, Colombia) — Case 102903928981
Hello Apple Developer Support, I enrolled in the Apple Developer Program as an individual and my $99 USD payment was successfully charged on May 26, 2026. However, my account still shows "Pending" / "Purchase your membership," even though the money was already debited. Enrollment type: Individual Account name: Edwin Gonzalez Region: Colombia Payment date: 2026-05-26 Web Order Number: D004874887 Sales Order Number: AEX4988955 Support Case ID: 102903928981 Two-Factor Authentication: Enabled No pending agreements in Apple Developer or App Store Connect I have NOT made a second payment to avoid duplicate charges Note: the payment was made with a card under a different billing name (my partner's), while my enrollment is individual under my own name. I am ready to provide my government-issued photo ID to verify my identity. Could an Apple team member please review my account and process the enrollment? This is blocking my iOS development. Thank you.
Replies
0
Boosts
0
Views
174
Activity
1d
Have any of you been in the “waiting for review” stage recently?
We've put a lot of effort into this update, not to mention all our marketing budget were geared towards its release. But obviously, the longer the app remains in the review process, the less up-to-date the version available in the App Store gets. Of course, we realize that sometimes things get very hectic and thank the people involved in the review for their efforts. But what can we do? Have you faced this situation before, and how did you handle it? We did file for expedited review but days gone by, and sadly, still waiting for review. Thank you everyone!
Replies
0
Boosts
0
Views
29
Activity
1d
Has anyone else been stuck in "Waiting for Review" lately?
As much as our team did a lot of work to update our app, we even did marketing plans for the release of the same. Regrettably, the more time our app spends under review, the more our app becomes outdated due to the version currently in use in the App Store. Please be assured that we know how busy the reviewers might be. However, at this stage, we are just hoping to receive help from people who have been through similar experiences before. Have any of you been in the same boat? Any information or guidance is appreciated? Thank you everyone.
Replies
1
Boosts
0
Views
112
Activity
1d
APNs token auth suddenly returns InvalidProviderToken for active team-scoped APNs key
I’m trying to diagnose an APNs provider authentication issue that began after APNs had previously been working. Summary: My iOS app can register for remote notifications and successfully sends its device token to my server. The app has the Push Notifications capability enabled in Xcode, the Bundle ID has Push Notifications enabled in Certificates, Identifiers & Profiles, and the APNs key is active in the Apple Developer portal. However, every server-side APNs send attempt now fails with: HTTP 403 {"reason":"InvalidProviderToken"} This happens against both sandbox and production APNs endpoints. App / account details: Bundle ID / apns-topic: app.terrasignal Team ID: 837F2XGDX Current APNs Key ID: HNW7XPK2H3 APNs key type: Apple Push Notifications service (APNs) Key configuration: Team scoped, Sandbox & Production Xcode signing team: David Buck / Team ID 837F2XGDX Push Notifications capability is enabled in Xcode Device token environment tested: sandbox Server clock verified against Apple/date header and matches UTC What works: iOS app launches successfully Push permission is granted Device token is generated Device registers with my server successfully Server stores the token as sandbox for bundle app.terrasignal What fails: Server-to-APNs provider authentication Direct HTTP/2 APNs request fails before notification delivery Failure reason is always InvalidProviderToken I tested three separate APNs keys: 34T746MWFV T9N75GU2AV HNW7XPK2H3 Each key was downloaded from the Developer portal, uploaded to the server, verified as a valid .p8 private key, and used with its matching Key ID. All produce the same InvalidProviderToken result. I also bypassed my APNs library and tested direct HTTP/2 + JOSE JWT signing. The direct APNs test also fails with the same response: HTTP status: 403 Response body: {"reason":"InvalidProviderToken"} Example direct APNs test details: Host: api.sandbox.push.apple.com Path: /3/device/ apns-topic: app.terrasignal apns-push-type: alert apns-priority: 10 JWT header: {"alg":"ES256","kid":"HNW7XPK2H3"} JWT payload includes iss: 837F2XGDX and current iat Key imports successfully with jose importPKCS8 JWT is generated successfully APNs rejects it with InvalidProviderToken I also tried production endpoint with the same result: Host: api.push.apple.com HTTP 403 {"reason":"InvalidProviderToken"} Things verified: System clock is correct Docker/server UTC time matches Apple Date header Bundle ID topic is app.terrasignal APNs key exists in the Apple Developer portal APNs service is enabled on the key Key is configured for Sandbox & Production Push Notifications capability is enabled for the app Xcode signing uses the same team The .p8 file is not empty or malformed The key imports successfully via jose/importPKCS8 The issue occurs before APNs evaluates the device token, because authentication fails first Question: What Apple-side account/key/app configuration state can cause multiple active APNs auth keys for the same team to return InvalidProviderToken, even when: the key is active, APNs is enabled, the Team ID matches, the Bundle ID topic matches, the server clock is correct, and a direct HTTP/2 APNs request with manually generated ES256 JWT also fails? Is there a way to force-refresh, repair, or re-sync APNs provider authentication for a Developer account / Bundle ID / APNs key?
Replies
4
Boosts
1
Views
262
Activity
18h
Can a developer sponsor app-specific privateCloudDatabase storage for users?
Hi, We are developing an iOS/watchOS app that uses CloudKit private database and CKShare to let athletes share training data with their coaches. Current architecture: Each athlete owns their data in their privateCloudDatabase. The athlete can share selected records with a coach using CKShare. The coach accesses the shared data through the sharedCloudDatabase. This works very well for privacy, ownership, and permission management. The issue: Many athletes do not have enough available personal iCloud storage. When their iCloud storage is full, our app cannot save/sync/share new records in their privateCloudDatabase. This breaks the coach-athlete sharing flow, even if the coach is paying for a subscription in our app. Question: Is there any Apple-supported way for an app developer, or a coach/team organization using our app, to sponsor, allocate, or purchase additional iCloud storage specifically for a user’s app-specific CloudKit private database data? What we would like to preserve: Records stay in the athlete’s privateCloudDatabase. The athlete remains the owner of the data. CKShare continues to manage sharing permissions and consent. The app or coach organization covers the storage cost, instead of requiring every athlete to upgrade their personal iCloud+ plan. I understand that: privateCloudDatabase data counts against the user’s personal iCloud storage quota. publicCloudDatabase data counts against the app/container quota. CloudKit Database app can be used to manage the app’s CloudKit containers. However, moving this data to publicCloudDatabase would require us to rebuild part of the permission and sharing model ourselves, and it would not be equivalent to user-owned private records shared via CKShare. So I would like to confirm: Is there any way to sponsor or allocate app-specific privateCloudDatabase storage for selected users? Is there any Apple Business, Managed Apple Account, enterprise, or developer program option that supports this for sports teams or organizations? If this is not supported, are the only Apple-native alternatives: asking users to upgrade iCloud+, moving shared/team data to publicCloudDatabase, or using a third-party/app-managed backend? Use case: Our app is used in strength training. A coach may manage many athletes. The coach is willing to pay for the subscription and storage, but athletes often do not want to pay for additional iCloud storage individually. Thanks.
Replies
2
Boosts
0
Views
126
Activity
1h
Subscription group localization "Rejected" while app is approved and live
Hi everyone, My iOS app is approved and live on the App Store. When I submitted it for review I had already created all my subscriptions, the APP review passed. But in the Subscriptions section I still see: Weekly, Monthly, Yearly plans all showing "Developer Action Needed" The English (U.S.) localization of the subscription group marked "Rejected" The frustrating part: Apple left no note or message explaining why. The only text shown is a generic line — "One or more of the subscriptions listed below requires your attention." There's nothing in the Resolution Center for this and no email with a reason. Since the app is already approved and released, do I need to submit a new app version, or can I resubmit the subscription metadata on its own? And what usually causes a subscription group localization to be rejected with no message when the app itself passed review? Thanks!
Replies
0
Boosts
0
Views
79
Activity
2d
Live activity issue
I’m running into an issue with Live Activities and was wondering if anyone else has seen something similar. Some users occasionally see a spinning/loading indicator instead of the normal Live Activity UI. The push payloads look valid and consistent across users, nothing appears to be missing or malformed. Has anyone encountered this before or knows what could cause the Live Activity to fall back into a loading state?
Replies
0
Boosts
0
Views
69
Activity
2d
App stuck in "Waiting for Review" for 23 days - Case ID 102895750215
Hello, My app Thalk (Apple ID: 6766675208) has been in "Waiting for Review" for 23 days, and I'd appreciate any guidance on what to check. Timeline: May 5, 2026: Initial submission, rejected May 6 (Guideline 2.1) May 7, 2026: Resubmitted with the issue addressed Today (May 30, 2026): Still "Waiting for Review," 23 days Submission details: Submission ID: a9f84eb4-8caa-4163-9cb5-4bfc717664e0 Developer Support Case ID: 102895750215 What I've already tried: Expedited review request (no response) Developer Support contact form (no response) Developer Support phone callback (completed, no further update) There are no outstanding messages from Apple in App Review, and App Review Information is complete. I just want to confirm the submission isn't stuck on something I need to address, and that it's progressing normally through the queue. Thank you.
Replies
2
Boosts
1
Views
130
Activity
1d
How on earth do I download Reality Converter?
When I click on the download link for reality converter, it just sends me here: https://developer.apple.com/augmented-reality/tools/ Is there something I am missing?
Replies
0
Boosts
0
Views
320
Activity
2d