Subscriptions

RSS for tag

Give users access to content, services, or premium features in your app on an ongoing basis with subscriptions, a type of in-app purchase.

Posts under Subscriptions tag

200 Posts

Post

Replies

Boosts

Views

Activity

Advanced Commerce API access request — no response after two submissions (Request ID: UVQ7FUZVV3)
Hello, I'm the developer of FOS Social (Apple ID: 6755471015), a creator-membership marketplace currently in TestFlight. I've submitted the Advanced Commerce API access request form twice and have not received any response, confirmation, or status update. My most recent submission has Request ID: UVQ7FUZVV3. Our use case: FOS Social is a social platform where viewers subscribe to individual content creators through independent auto-renewable monthly subscriptions across three tiers ($10 / $17 / $29). A single viewer must be able to hold concurrent active subscriptions to multiple creators at the same tier — for example, subscribed to Creator A at Gold and Creator B at Gold simultaneously. This matches Apple's stated eligibility model for the Advanced Commerce API: "exceptionally large catalogs of subscription content — apps that include frequently added content from multiple creators, where each creator's offering is merchandised as a single auto-renewable subscription." Why standard StoreKit doesn't work for us: We currently reuse one product ID per tier across all creators (e.g. com.fosssocial.creator.gold.monthly). When a viewer already subscribed to one creator at Gold tries to subscribe to a second creator at Gold, StoreKit returns "already subscribed" and treats it as a renewal rather than a new independent subscription. Pre-creating a separate subscription group per creator in App Store Connect is not feasible since our creator base is dynamic and growing. My questions: Is there any way to check the status of an Advanced Commerce API access request, or a typical response timeframe we should expect? Is there anything that commonly causes these requests to go unanswered (e.g. submission not made by the Account Holder, app still in TestFlight, missing information)? Is there a recommended escalation path when the request form has been submitted multiple times with no reply? I've also opened a support case (Case ID: 102934491974) but wanted to ask here as well in case anyone from the community or Apple has guidance. Thank you!
0
0
106
1w
In-App Purchase availability for the Russia region - recommended payment approach?
Hello, we are preparing an app that sells digital subscriptions consumed within the app and we fully understand that Guideline 3.1.1 requires such content to be sold through In-App Purchase. Our question concerns one specific case: In-App Purchase does not appear to be available for App Store accounts in the Russia region. For users in that region, what is the compliant way to offer a digital subscription? Would using an approved local third-party payment provider be acceptable when IAP is not available and if so, are there any conditions or entitlements we should be aware of? For all other regions where IAP is available, we plan to use In-App Purchase as required. Thank you! Kind regards
0
0
112
1w
IAP Products Not Loading During App Review - Sandbox Environment Issue (Guideline 2.1b)
Hello, We are experiencing an issue where our In-App Purchase products fail to load during App Review, but work correctly in TestFlight using the exact same build. App Details: Framework: React Native (Expo) with RevenueCat SDK Products: 4 auto-renewable subscriptions Important context: Our app has been through multiple review cycles. In earlier submissions (builds 3 and 4), the IAP products loaded correctly and the reviewer was able to see the prices on the same review device (iPad Air 11-inch M3). However, in our most recent submissions, the exact same implementation is no longer loading products during review, despite working correctly in TestFlight. What works on our side: StoreKit successfully returns all subscription products RevenueCat offerings load correctly Localized pricing is displayed properly Purchases complete successfully Restore purchases work as expected Tested on multiple physical devices with sandbox accounts What happens during App Review: The paywall shows "—" instead of prices Products appear to not load from StoreKit Same binary works perfectly in TestFlight We have verified: All 4 IAP products are attached to the submitted app version Product identifiers match exactly between App Store Connect and code Paid Apps Agreement is Active (Jun 7, 2026 - Jun 5, 2027) Banking and tax information are Active Products are marked as available for sale Bundle ID is registered and In-App Purchase capability is enabled We noticed a similar thread here: https://developer.apple.com/forums/thread/827016 https://developer.apple.com/forums/thread/829441 We suspect this may be an intermittent StoreKit product retrieval issue specific to the App Review sandbox environment, as the behavior changed between review cycles without any changes to our IAP implementation. Any guidance would be appreciated. Thank you.
0
0
121
2w
Endless loop of rejection for 3.1.1
I am stuck in an endless chicken-or-the-egg loop. The last 3 versions of the app have all complied with Guideline 3.1.1. The app shows the products (a yearly and monthly subscription) on the paywall, but the products themselves keep getting rejected citing 3.1.1 saying that the I need to upload a new binary that shows the products on the paywall, and that I need to attach the products to the build - which there is no way to do. When I upload the new binary, the products do not show up on the new app version page to attach them to the build. When I go to submit, the subscription products are not attached to the review panel. So, I submit, the app gets approved, and the subscriptions get rejected. There is no way for me to connect these subscriptions to a build in App Store Connect so it keeps getting rejected. I wrote support and they responded saying they couldn't help and that I should go the forums. While this issue is widespread on the forums, no one has a clear answer as to how to get out of this loop. I have many apps and have never had this issue. Please advise.
2
0
315
2w
In app purchase not available in my country
Hi, I was creating an iOS app for my country Ethiopia that has in app purchase to unlock app features. The apple policy says for such payment, we must use Apple IAP but not external payment methods such as stripe or local. However, in my country, Ethiopia, Apple IAP is not available. My question is can I use local payment methods or guide users on how to pay using available payment methods in the country where Apple IAP is not available? I need to make sure my app is acceptable during review using local payment method just because Apple IAP is not available in my country. Thank you
0
0
127
2w
Freemium, possibly moving to hard paywall
Hello Devs! I've had my app on the App Store for about 2 months now. It currently uses the freemium model, where the user can use the app with it's basic functionality (with a few limits) for free, and subscribe to a monthly or yearly sub to get extra features. I've had no conversions to date, and in asking around with other devs, it seems that converting from freemium to paid can be quite the challenge. So I'm looking to change the app to a hard paywall with a free week of usage, keeping the same monthly or yearly sub. I'm concerned that after I make that switch, the people currently using the app for free might be incensed and bomb me with negative reviews. Is a jump like this worth the risk? Are conversions to paid from freemium really as impossible as I'm hearing? Appreciate the feedback. If anyone is interested, this is my app - https://developer.apple.com/forums/topics/rssFeed/app-store-distribution-and-marketing
0
0
228
2w
In App Purchase UI difference for tvOS
We're seeing differences in the purchase dialog and overall presentation when testing with Sandbox accounts compared to commercially available apps. Are these UI differences are expected and are simply a characteristic of the Sandbox testing environment, or if there are any configuration requirements that affect the purchase sheet appearance? It would be helpful to know whether developers should expect the production purchase UI to match App Store apps once the app is distributed through TestFlight/App Store, or if there are additional factors involved. Sandbox UI Expected UI
0
0
240
2w
Subscription bundle & suite testing failure on XCode 27 Beta 3
I'm quite excited about the newly announced bundle and suite feature and trying to test the new Subscription Bundle type introduced in the recent Xcode Beta (using a local .storekit configuration file). I have set up: A local .storekit file. Inside it, I configured a Subscription Bundle with the ID "bundle". This bundle is linked to two internal auto-renewable subscriptions in the same file. The StoreKit configuration is active in my Scheme options. When I try to fetch a standard auto-renewable subscription ID, it works perfectly. However, when I try to fetch the "bundle" ID, the API returns successfully but with an empty array [] (no errors thrown). Is there a different way to query/fetch the new Subscription Bundle type in StoreKit 2, or is local testing for bundles not yet supported in the simulator in this beta? My sample code import StoreKit @MainActor class StoreManager: ObservableObject { @Published var products: [Product] = [] func fetchProducts() async { do { // "bundle" is defined in our local .storekit file as a SubscriptionBundle self.products = try await Product.products(for: ["bundle"]) print("Fetched products: \(self.products.map { $0.id })") } catch { print("Fetch error: \(error)") } } } struct ContentView: View { @StateObject private var store = StoreManager() var body: some View { VStack { if store.products.isEmpty { Text("Stuck Loading: Product not found.") } else { ForEach(store.products, id: \.id) { product in Text("Found: \(product.displayName) - \(product.displayPrice)") } } } .task { await store.task { await store.fetchProducts() } } } } My storekit "appPolicies" : { "eula" : "", "policies" : [ { "locale" : "en_US", "policyText" : "", "policyURL" : "" } ] }, "identifier" : "2B237494", "nonRenewingSubscriptions" : [ ], "products" : [ ], "settings" : { "_askToBuyEnabled" : false, "_billingGracePeriodEnabled" : false, "_billingIssuesEnabled" : false, "_disableDialogs" : false, "_failTransactionsEnabled" : false, "_locale" : "en_US", "_renewalBillingIssuesEnabled" : false, "_storefront" : "USA", "_storeKitErrors" : [ ], "_timeRate" : 0 }, "subscriptionBundleGroups" : [ { "id" : "EE1EB207", "localizations" : [ ], "name" : "bundle_group", "subscriptions" : [ { "displayPrice" : "0.99", "duration" : "P1M", "groupNumber" : 1, "internalID" : "84A95B47", "introductoryOffers" : [ { "billingPlanType" : "BILLED_UPFRONT", "internalID" : "DD9208A6", "numberOfPeriods" : 1, "paymentMode" : "free", "subscriptionPeriod" : "P1W" } ], "isFamilyShareable" : false, "linkedSubscriptions" : [ { "internal" : "D1A384C1" }, { "internal" : "01ABB5D2" } ], "localizations" : [ { "description" : "", "displayName" : "", "locale" : "en_US" } ], "productID" : "bundle", "referenceName" : "Awesome Bundle", "subscriptionGroupID" : "EE1EB207", "type" : "SubscriptionBundle" } ] } ], "subscriptionGroups" : [ { "id" : "84E94B59", "localizations" : [ ], "name" : "premium_group", "subscriptions" : [ { "adHocOffers" : [ ], "billingPlans" : [ { "billingPlanType" : "BILLED_UPFRONT", "commitmentDisplayPrice" : "1.99", "displayPrice" : "1.99", "internalID" : "21C9C75B", "isEnabled" : true } ], "codeOffers" : [ ], "displayPrice" : "1.99", "familyShareable" : false, "groupNumber" : 1, "internalID" : "D1A384C1", "introductoryOffer" : { "billingPlanType" : "BILLED_UPFRONT", "displayPrice" : "0.99", "internalID" : "F0651A66", "numberOfPeriods" : 1, "paymentMode" : "payUpFront", "subscriptionPeriod" : "P1M" }, "introductoryOffers" : [ { "billingPlanType" : "BILLED_UPFRONT", "displayPrice" : "0.99", "internalID" : "F0651A66", "numberOfPeriods" : 1, "paymentMode" : "payUpFront", "subscriptionPeriod" : "P1M" } ], "localizations" : [ { "description" : "", "displayName" : "", "locale" : "en_US" } ], "productID" : "premium_monthly", "recurringSubscriptionPeriod" : "P1M", "referenceName" : "premiume monthly", "subscriptionGroupID" : "84E94B59", "type" : "RecurringSubscription", "winbackOffers" : [ ] } ] }, { "id" : "39607B86", "localizations" : [ ], "name" : "basic_group", "subscriptions" : [ { "adHocOffers" : [ ], "billingPlans" : [ { "billingPlanType" : "BILLED_UPFRONT", "commitmentDisplayPrice" : "0.99", "displayPrice" : "0.99", "internalID" : "0FAC3C7D", "isEnabled" : true } ], "codeOffers" : [ ], "displayPrice" : "0.99", "familyShareable" : false, "groupNumber" : 1, "internalID" : "01ABB5D2", "introductoryOffers" : [ ], "localizations" : [ { "description" : "", "displayName" : "", "locale" : "en_US" } ], "productID" : "basic_monthly", "recurringSubscriptionPeriod" : "P1M", "referenceName" : "basic monthly", "subscriptionGroupID" : "39607B86", "type" : "RecurringSubscription", "winbackOffers" : [ ] } ] } ], "subscriptionSuiteGroups" : [ ], "version" : { "major" : 6, "minor" : 3 } }
0
0
233
2w
"Sandbox Apple Account" Developer Setting Does Not Work
I am trying to test a sandbox account for an in-app subscription. It will not work. When I try to check out in my app, I'm told... 2026-07-08 14:41:59.282977-0700 PlainSite[1364:48033] [Default] [StoreKit] Purchase did not return a transaction: Error Domain=ASDErrorDomain Code=500 "Unhandled exception" UserInfo={NSUnderlyingError=0x2835d21f0 {Error Domain=AMSErrorDomain Code=100 "Authentication Failed" UserInfo={NSMultipleUnderlyingErrorsKey=( "Error Domain=AMSErrorDomain Code=2 \"An unknown error occurred. Please try again.\" UserInfo={NSLocalizedDescription=An unknown error occurred. Please try again.}", "Error Domain=AMSServerErrorDomain Code=-5000 \"(null)\" UserInfo={failureType=-5000, m-allowed=false, pings=(\n), cancel-purchase-batch=true, customerMessage=Check the account information you entered and try again.}" ), NSLocalizedDescription=Authentication Failed, NSLocalizedFailureReason=The authentication failed.}}, NSLocalizedFailureReason=An unknown error occurred, NSLocalizedDescription=Unhandled exception} [CreateAccountView] purchaseForSignup threw: userCancelled This is false. The user (me) did not cancel. This is with me manually typing in the sandbox credentials as the Apple ID and password at the point of completing the transaction on both iOS 15 and iOS 26. So I try to make sure that my sandbox account is properly set in iOS 26's Settings -> Developer -> Sandbox Apple Account screen. It says Sign In. Then it says "Apple Account Sign in Requested". What does this actually mean? Who knows. It could mean my App Store Connect credentials are what it wants so that it can query which sandbox accounts are available to use—after all, that is where they are set up. It could also mean that you should type in the sandbox account's credentials directly because a sandbox account is basically a fake Apple ID. I try both. Neither works. No matter what I do, it just goes back to the Developer view and says "Sign In". Have I signed in? I don't know. Maybe, but probably not, given that nothing works. Is the problem that I didn't confirm the sandbox account's e-mail address? No. It doesn't work before or after I've confirmed the e-mail. Is the problem that I don't have two-factor authentication on for the sandbox account? No. It doesn't work whether or not two-factor authentication is enabled. I am not the only one having this problem. People on a certain Reddit thread I'm for some reason not allowed to link to here (sandbox_accounts_simulator_help) have been having it for the past year it looks like, except they got it to work on a real device, and I'm using an iPhone 17, which is a real device, and it doesn't work. This is the third bug in Apple's code I've found in the past couple of weeks that is preventing me from getting my app published and it's getting frustrating. Any assistance would be appreciated. Fix your code, Apple.
2
0
348
2w
Product.SubscriptionInfo.Status.all returns empty for accounts with an active auto-renewable subscription
Summary: We gate premium access on the renewal status returned by Product.SubscriptionInfo.Status.all, following the pattern in your Implementing a store in your app using the StoreKit API sample (CustomerEntitlements.checkCurrentStatuses()). In production we are seeing a subset of users whose Status.all yields zero statuses, even though they hold an active subscription with a future expiration date (according to our own persisted state). This causes us to incorrectly treat them as unsubscribed. How we read status: func currentSubscriptionStatuses() async -> [SubscriptionStatusInfo] { await Product.SubscriptionInfo.Status.all .collect() .flatMap(.1) .compactMap(SubscriptionStatusInfo.init(skStatus:)) } The compactMap only drops entries failing case .verified. In the affected cases Status.all itself emits no (groupID, statuses) pairs at all - the sequence is empty, not filtered. Affected population: Previously had an active paid subscription (our own persisted state shows pro with an expiry date in the future). Not new installs. Questions: Under what conditions can Product.SubscriptionInfo.Status.all return an empty sequence for an Apple Account that currently holds an active auto-renewable subscription (e.g. not signed into the App Store, StoreKit not yet initialized at launch, offline, renewal in flight, Family Sharing)? Is an empty result from Status.all ever authoritative ("no subscription"), or must it always be treated as inconclusive and never used to revoke access? Is there a recommended way to distinguish "no subscription for this account" from "status temporarily unavailable" (e.g. a signal for no signed-in App Store account, or a readiness/error path)? Does Status.all guarantee it reflects a signed-in account context, and what is the expected behavior when the device has no active App Store account at call time?
0
2
261
2w
Stuck in In-App Purchase Waiting for Review for Over a Week?!? (Super unusual)
Hello Apple Support Team, My app's new In-App Purchase appears to be stuck in the review process, and I'd like to check whether there might be an issue with the submission. App Information App Name: Foxify AI - Make Your Own Song Apple ID: 6761515837 Item for Review: New Consumable In-App Purchase Timeline Submitted: July 3, 2026, at 6:28 PM As of today (July 8), the In-App Purchase has remained in "Waiting for Review" for 6 days. Context: We submitted a new app build together with this new In-App Purchase so the Apple Review team could test the updated purchase flow and the new consumable IAP. The app build has already been approved and is currently Pending Developer Release, but the new In-App Purchase is still showing Waiting for Review. Since the IAP has not been approved yet, we are unable to release the new version as planned, and our launch date is approaching. Normally, our In-App Purchases are reviewed within 1–2 days, so this delay seems unusual. Could you please help check whether there is any issue with this submission and, if possible, assist with reviewing it as soon as possible? Any guidance or assistance would be greatly appreciated. Thank you for your support.
0
2
212
2w
App Store Connect deadlock – cannot attach IAP or create new version
Hello, I have a blocking issue in App Store Connect. I need to submit my In-App Purchase together with the app (first-time approval), but: The option to attach In-App Purchases is missing I cannot create a new app version I cannot properly edit the current version This creates a deadlock and prevents me from submitting the app correctly. This does not seem like a configuration issue, but a problem in App Store Connect. Has anyone experienced this or knows how to resolve it? Thank you.
2
0
262
3w
How can I track origin of a sale?
I work with bloggers who write reviews about my app. I would like to track sales that originate on specific sites so I can pay them commissions, like an affiliate program. For example, if a person discovers our app by reading a review, I would like to give the blogger a URL to the App Store a UTM code so that I can track if the article generates sales of my app. if there is a 3rd party affiliate program management platform or software to do this, I might be open to using it. i’ve tried searching the web and other developers about this. It should be simple but it’s elusive if it’s out there at all.
2
0
1k
3w
Help understanding subscription rejection
I have a macOS app submission that Apple rejected because of the subscription view. The reason given is: One or more auto-renewable subscriptions are marketed in the purchase flow in a way that may mislead or confuse users about the subscription terms or pricing. Specifically: The auto-renewable subscription promotes the free trial, introductory pricing, or introductory period for the subscription more clearly and conspicuously than the billed amount. The rejection pointed to Apple's HIG for In-App Purchases and an the article Auto-renewable subscriptions. The image below shows two exemplars from Apple's HIG and our subscription view (using Apple's SubscriptionStoreView). I am having troubles squaring the reason for our rejection with Apple's own HIG examples. Does anyone know of a difference between our view and Apple's examples that would prompt the rejection? The only thing I can think of is to remove the "Try It Free " by changing the modifier from .subscriptionStoreButtonLabel(.multiline) to .subscriptionStoreButtonLabel(.price) (Meanwhile, Apple's rejection because of the subscription content seems to have broken my ability to sync the StoreKit content in AppStoreConnect with Xcode(?). I am still trying to resolve problem too.)
1
0
230
3w
Auto-renewable subscription says “Item already owned” when same Apple ID uses different app accounts
Hi, I’m testing an iOS app with auto-renewable subscriptions in the Apple sandbox environment. The app has its own account system. A user can create/log in with different accounts inside the app. The issue I’m seeing is this: I subscribe to the Pro plan using one sandbox Apple ID. Then I log out of the app. I create or log in with a different account inside the app, but still on the same iPhone / same sandbox Apple ID. Inside the app, this new app account is not marked as subscribed. When I try to subscribe again, StoreKit returns: “Item already owned” So Apple recognizes that the Apple ID already owns the subscription, but our app account does not have Pro access yet. The only way to resolve this is to provide a “Restore Purchase” option, so the current app account can restore the subscription already owned by the Apple ID. My questions are: Is this expected behavior for auto-renewable subscriptions? Can this happen in production too, or is it mainly a sandbox behavior? If a user has multiple accounts inside the app but uses the same Apple ID, is the subscription considered owned by the Apple ID and restorable across those app accounts? Is it acceptable/recommended to keep a small “Already subscribed? Restore purchase” option visible on the paywall at all times? If the app wants to prevent the same Apple subscription from being used across multiple internal app accounts, what is the recommended approach? For brand new Apple IDs that have never subscribed before, the normal purchase flow works correctly. Thank you.
1
0
281
3w
Advanced Commerce API access request — no response after two submissions (Request ID: UVQ7FUZVV3)
Hello, I'm the developer of FOS Social (Apple ID: 6755471015), a creator-membership marketplace currently in TestFlight. I've submitted the Advanced Commerce API access request form twice and have not received any response, confirmation, or status update. My most recent submission has Request ID: UVQ7FUZVV3. Our use case: FOS Social is a social platform where viewers subscribe to individual content creators through independent auto-renewable monthly subscriptions across three tiers ($10 / $17 / $29). A single viewer must be able to hold concurrent active subscriptions to multiple creators at the same tier — for example, subscribed to Creator A at Gold and Creator B at Gold simultaneously. This matches Apple's stated eligibility model for the Advanced Commerce API: "exceptionally large catalogs of subscription content — apps that include frequently added content from multiple creators, where each creator's offering is merchandised as a single auto-renewable subscription." Why standard StoreKit doesn't work for us: We currently reuse one product ID per tier across all creators (e.g. com.fosssocial.creator.gold.monthly). When a viewer already subscribed to one creator at Gold tries to subscribe to a second creator at Gold, StoreKit returns "already subscribed" and treats it as a renewal rather than a new independent subscription. Pre-creating a separate subscription group per creator in App Store Connect is not feasible since our creator base is dynamic and growing. My questions: Is there any way to check the status of an Advanced Commerce API access request, or a typical response timeframe we should expect? Is there anything that commonly causes these requests to go unanswered (e.g. submission not made by the Account Holder, app still in TestFlight, missing information)? Is there a recommended escalation path when the request form has been submitted multiple times with no reply? I've also opened a support case (Case ID: 102934491974) but wanted to ask here as well in case anyone from the community or Apple has guidance. Thank you!
Replies
0
Boosts
0
Views
106
Activity
1w
In-App Purchase availability for the Russia region - recommended payment approach?
Hello, we are preparing an app that sells digital subscriptions consumed within the app and we fully understand that Guideline 3.1.1 requires such content to be sold through In-App Purchase. Our question concerns one specific case: In-App Purchase does not appear to be available for App Store accounts in the Russia region. For users in that region, what is the compliant way to offer a digital subscription? Would using an approved local third-party payment provider be acceptable when IAP is not available and if so, are there any conditions or entitlements we should be aware of? For all other regions where IAP is available, we plan to use In-App Purchase as required. Thank you! Kind regards
Replies
0
Boosts
0
Views
112
Activity
1w
Apple Developer Enrollment Pending Since March 13th – No Response
I applied for the Apple Developer Program on March 13th, 2026, and my enrollment is still showing as "The registration is being processed. Your registration ID is XSZWX9PXAC."
Replies
0
Boosts
0
Views
112
Activity
2w
IAP Products Not Loading During App Review - Sandbox Environment Issue (Guideline 2.1b)
Hello, We are experiencing an issue where our In-App Purchase products fail to load during App Review, but work correctly in TestFlight using the exact same build. App Details: Framework: React Native (Expo) with RevenueCat SDK Products: 4 auto-renewable subscriptions Important context: Our app has been through multiple review cycles. In earlier submissions (builds 3 and 4), the IAP products loaded correctly and the reviewer was able to see the prices on the same review device (iPad Air 11-inch M3). However, in our most recent submissions, the exact same implementation is no longer loading products during review, despite working correctly in TestFlight. What works on our side: StoreKit successfully returns all subscription products RevenueCat offerings load correctly Localized pricing is displayed properly Purchases complete successfully Restore purchases work as expected Tested on multiple physical devices with sandbox accounts What happens during App Review: The paywall shows "—" instead of prices Products appear to not load from StoreKit Same binary works perfectly in TestFlight We have verified: All 4 IAP products are attached to the submitted app version Product identifiers match exactly between App Store Connect and code Paid Apps Agreement is Active (Jun 7, 2026 - Jun 5, 2027) Banking and tax information are Active Products are marked as available for sale Bundle ID is registered and In-App Purchase capability is enabled We noticed a similar thread here: https://developer.apple.com/forums/thread/827016 https://developer.apple.com/forums/thread/829441 We suspect this may be an intermittent StoreKit product retrieval issue specific to the App Review sandbox environment, as the behavior changed between review cycles without any changes to our IAP implementation. Any guidance would be appreciated. Thank you.
Replies
0
Boosts
0
Views
121
Activity
2w
Endless loop of rejection for 3.1.1
I am stuck in an endless chicken-or-the-egg loop. The last 3 versions of the app have all complied with Guideline 3.1.1. The app shows the products (a yearly and monthly subscription) on the paywall, but the products themselves keep getting rejected citing 3.1.1 saying that the I need to upload a new binary that shows the products on the paywall, and that I need to attach the products to the build - which there is no way to do. When I upload the new binary, the products do not show up on the new app version page to attach them to the build. When I go to submit, the subscription products are not attached to the review panel. So, I submit, the app gets approved, and the subscriptions get rejected. There is no way for me to connect these subscriptions to a build in App Store Connect so it keeps getting rejected. I wrote support and they responded saying they couldn't help and that I should go the forums. While this issue is widespread on the forums, no one has a clear answer as to how to get out of this loop. I have many apps and have never had this issue. Please advise.
Replies
2
Boosts
0
Views
315
Activity
2w
In app purchase not available in my country
Hi, I was creating an iOS app for my country Ethiopia that has in app purchase to unlock app features. The apple policy says for such payment, we must use Apple IAP but not external payment methods such as stripe or local. However, in my country, Ethiopia, Apple IAP is not available. My question is can I use local payment methods or guide users on how to pay using available payment methods in the country where Apple IAP is not available? I need to make sure my app is acceptable during review using local payment method just because Apple IAP is not available in my country. Thank you
Replies
0
Boosts
0
Views
127
Activity
2w
Freemium, possibly moving to hard paywall
Hello Devs! I've had my app on the App Store for about 2 months now. It currently uses the freemium model, where the user can use the app with it's basic functionality (with a few limits) for free, and subscribe to a monthly or yearly sub to get extra features. I've had no conversions to date, and in asking around with other devs, it seems that converting from freemium to paid can be quite the challenge. So I'm looking to change the app to a hard paywall with a free week of usage, keeping the same monthly or yearly sub. I'm concerned that after I make that switch, the people currently using the app for free might be incensed and bomb me with negative reviews. Is a jump like this worth the risk? Are conversions to paid from freemium really as impossible as I'm hearing? Appreciate the feedback. If anyone is interested, this is my app - https://developer.apple.com/forums/topics/rssFeed/app-store-distribution-and-marketing
Replies
0
Boosts
0
Views
228
Activity
2w
In App Purchase UI difference for tvOS
We're seeing differences in the purchase dialog and overall presentation when testing with Sandbox accounts compared to commercially available apps. Are these UI differences are expected and are simply a characteristic of the Sandbox testing environment, or if there are any configuration requirements that affect the purchase sheet appearance? It would be helpful to know whether developers should expect the production purchase UI to match App Store apps once the app is distributed through TestFlight/App Store, or if there are additional factors involved. Sandbox UI Expected UI
Replies
0
Boosts
0
Views
240
Activity
2w
Subscription bundle & suite testing failure on XCode 27 Beta 3
I'm quite excited about the newly announced bundle and suite feature and trying to test the new Subscription Bundle type introduced in the recent Xcode Beta (using a local .storekit configuration file). I have set up: A local .storekit file. Inside it, I configured a Subscription Bundle with the ID "bundle". This bundle is linked to two internal auto-renewable subscriptions in the same file. The StoreKit configuration is active in my Scheme options. When I try to fetch a standard auto-renewable subscription ID, it works perfectly. However, when I try to fetch the "bundle" ID, the API returns successfully but with an empty array [] (no errors thrown). Is there a different way to query/fetch the new Subscription Bundle type in StoreKit 2, or is local testing for bundles not yet supported in the simulator in this beta? My sample code import StoreKit @MainActor class StoreManager: ObservableObject { @Published var products: [Product] = [] func fetchProducts() async { do { // "bundle" is defined in our local .storekit file as a SubscriptionBundle self.products = try await Product.products(for: ["bundle"]) print("Fetched products: \(self.products.map { $0.id })") } catch { print("Fetch error: \(error)") } } } struct ContentView: View { @StateObject private var store = StoreManager() var body: some View { VStack { if store.products.isEmpty { Text("Stuck Loading: Product not found.") } else { ForEach(store.products, id: \.id) { product in Text("Found: \(product.displayName) - \(product.displayPrice)") } } } .task { await store.task { await store.fetchProducts() } } } } My storekit "appPolicies" : { "eula" : "", "policies" : [ { "locale" : "en_US", "policyText" : "", "policyURL" : "" } ] }, "identifier" : "2B237494", "nonRenewingSubscriptions" : [ ], "products" : [ ], "settings" : { "_askToBuyEnabled" : false, "_billingGracePeriodEnabled" : false, "_billingIssuesEnabled" : false, "_disableDialogs" : false, "_failTransactionsEnabled" : false, "_locale" : "en_US", "_renewalBillingIssuesEnabled" : false, "_storefront" : "USA", "_storeKitErrors" : [ ], "_timeRate" : 0 }, "subscriptionBundleGroups" : [ { "id" : "EE1EB207", "localizations" : [ ], "name" : "bundle_group", "subscriptions" : [ { "displayPrice" : "0.99", "duration" : "P1M", "groupNumber" : 1, "internalID" : "84A95B47", "introductoryOffers" : [ { "billingPlanType" : "BILLED_UPFRONT", "internalID" : "DD9208A6", "numberOfPeriods" : 1, "paymentMode" : "free", "subscriptionPeriod" : "P1W" } ], "isFamilyShareable" : false, "linkedSubscriptions" : [ { "internal" : "D1A384C1" }, { "internal" : "01ABB5D2" } ], "localizations" : [ { "description" : "", "displayName" : "", "locale" : "en_US" } ], "productID" : "bundle", "referenceName" : "Awesome Bundle", "subscriptionGroupID" : "EE1EB207", "type" : "SubscriptionBundle" } ] } ], "subscriptionGroups" : [ { "id" : "84E94B59", "localizations" : [ ], "name" : "premium_group", "subscriptions" : [ { "adHocOffers" : [ ], "billingPlans" : [ { "billingPlanType" : "BILLED_UPFRONT", "commitmentDisplayPrice" : "1.99", "displayPrice" : "1.99", "internalID" : "21C9C75B", "isEnabled" : true } ], "codeOffers" : [ ], "displayPrice" : "1.99", "familyShareable" : false, "groupNumber" : 1, "internalID" : "D1A384C1", "introductoryOffer" : { "billingPlanType" : "BILLED_UPFRONT", "displayPrice" : "0.99", "internalID" : "F0651A66", "numberOfPeriods" : 1, "paymentMode" : "payUpFront", "subscriptionPeriod" : "P1M" }, "introductoryOffers" : [ { "billingPlanType" : "BILLED_UPFRONT", "displayPrice" : "0.99", "internalID" : "F0651A66", "numberOfPeriods" : 1, "paymentMode" : "payUpFront", "subscriptionPeriod" : "P1M" } ], "localizations" : [ { "description" : "", "displayName" : "", "locale" : "en_US" } ], "productID" : "premium_monthly", "recurringSubscriptionPeriod" : "P1M", "referenceName" : "premiume monthly", "subscriptionGroupID" : "84E94B59", "type" : "RecurringSubscription", "winbackOffers" : [ ] } ] }, { "id" : "39607B86", "localizations" : [ ], "name" : "basic_group", "subscriptions" : [ { "adHocOffers" : [ ], "billingPlans" : [ { "billingPlanType" : "BILLED_UPFRONT", "commitmentDisplayPrice" : "0.99", "displayPrice" : "0.99", "internalID" : "0FAC3C7D", "isEnabled" : true } ], "codeOffers" : [ ], "displayPrice" : "0.99", "familyShareable" : false, "groupNumber" : 1, "internalID" : "01ABB5D2", "introductoryOffers" : [ ], "localizations" : [ { "description" : "", "displayName" : "", "locale" : "en_US" } ], "productID" : "basic_monthly", "recurringSubscriptionPeriod" : "P1M", "referenceName" : "basic monthly", "subscriptionGroupID" : "39607B86", "type" : "RecurringSubscription", "winbackOffers" : [ ] } ] } ], "subscriptionSuiteGroups" : [ ], "version" : { "major" : 6, "minor" : 3 } }
Replies
0
Boosts
0
Views
233
Activity
2w
"Sandbox Apple Account" Developer Setting Does Not Work
I am trying to test a sandbox account for an in-app subscription. It will not work. When I try to check out in my app, I'm told... 2026-07-08 14:41:59.282977-0700 PlainSite[1364:48033] [Default] [StoreKit] Purchase did not return a transaction: Error Domain=ASDErrorDomain Code=500 "Unhandled exception" UserInfo={NSUnderlyingError=0x2835d21f0 {Error Domain=AMSErrorDomain Code=100 "Authentication Failed" UserInfo={NSMultipleUnderlyingErrorsKey=( "Error Domain=AMSErrorDomain Code=2 \"An unknown error occurred. Please try again.\" UserInfo={NSLocalizedDescription=An unknown error occurred. Please try again.}", "Error Domain=AMSServerErrorDomain Code=-5000 \"(null)\" UserInfo={failureType=-5000, m-allowed=false, pings=(\n), cancel-purchase-batch=true, customerMessage=Check the account information you entered and try again.}" ), NSLocalizedDescription=Authentication Failed, NSLocalizedFailureReason=The authentication failed.}}, NSLocalizedFailureReason=An unknown error occurred, NSLocalizedDescription=Unhandled exception} [CreateAccountView] purchaseForSignup threw: userCancelled This is false. The user (me) did not cancel. This is with me manually typing in the sandbox credentials as the Apple ID and password at the point of completing the transaction on both iOS 15 and iOS 26. So I try to make sure that my sandbox account is properly set in iOS 26's Settings -> Developer -> Sandbox Apple Account screen. It says Sign In. Then it says "Apple Account Sign in Requested". What does this actually mean? Who knows. It could mean my App Store Connect credentials are what it wants so that it can query which sandbox accounts are available to use—after all, that is where they are set up. It could also mean that you should type in the sandbox account's credentials directly because a sandbox account is basically a fake Apple ID. I try both. Neither works. No matter what I do, it just goes back to the Developer view and says "Sign In". Have I signed in? I don't know. Maybe, but probably not, given that nothing works. Is the problem that I didn't confirm the sandbox account's e-mail address? No. It doesn't work before or after I've confirmed the e-mail. Is the problem that I don't have two-factor authentication on for the sandbox account? No. It doesn't work whether or not two-factor authentication is enabled. I am not the only one having this problem. People on a certain Reddit thread I'm for some reason not allowed to link to here (sandbox_accounts_simulator_help) have been having it for the past year it looks like, except they got it to work on a real device, and I'm using an iPhone 17, which is a real device, and it doesn't work. This is the third bug in Apple's code I've found in the past couple of weeks that is preventing me from getting my app published and it's getting frustrating. Any assistance would be appreciated. Fix your code, Apple.
Replies
2
Boosts
0
Views
348
Activity
2w
Your subscription cannot be submitted for review.
I created 2 new subscriptions. I setup the availability, the subscription prices, localization, added a screenshot for review, the tax category is also set. I click on "Submit for Review" but I get the error "Your subscription cannot be submitted for review." The status is stuck in "Missing Metadata"
Replies
2
Boosts
0
Views
230
Activity
2w
Product.SubscriptionInfo.Status.all returns empty for accounts with an active auto-renewable subscription
Summary: We gate premium access on the renewal status returned by Product.SubscriptionInfo.Status.all, following the pattern in your Implementing a store in your app using the StoreKit API sample (CustomerEntitlements.checkCurrentStatuses()). In production we are seeing a subset of users whose Status.all yields zero statuses, even though they hold an active subscription with a future expiration date (according to our own persisted state). This causes us to incorrectly treat them as unsubscribed. How we read status: func currentSubscriptionStatuses() async -> [SubscriptionStatusInfo] { await Product.SubscriptionInfo.Status.all .collect() .flatMap(.1) .compactMap(SubscriptionStatusInfo.init(skStatus:)) } The compactMap only drops entries failing case .verified. In the affected cases Status.all itself emits no (groupID, statuses) pairs at all - the sequence is empty, not filtered. Affected population: Previously had an active paid subscription (our own persisted state shows pro with an expiry date in the future). Not new installs. Questions: Under what conditions can Product.SubscriptionInfo.Status.all return an empty sequence for an Apple Account that currently holds an active auto-renewable subscription (e.g. not signed into the App Store, StoreKit not yet initialized at launch, offline, renewal in flight, Family Sharing)? Is an empty result from Status.all ever authoritative ("no subscription"), or must it always be treated as inconclusive and never used to revoke access? Is there a recommended way to distinguish "no subscription for this account" from "status temporarily unavailable" (e.g. a signal for no signed-in App Store account, or a readiness/error path)? Does Status.all guarantee it reflects a signed-in account context, and what is the expected behavior when the device has no active App Store account at call time?
Replies
0
Boosts
2
Views
261
Activity
2w
Stuck in In-App Purchase Waiting for Review for Over a Week?!? (Super unusual)
Hello Apple Support Team, My app's new In-App Purchase appears to be stuck in the review process, and I'd like to check whether there might be an issue with the submission. App Information App Name: Foxify AI - Make Your Own Song Apple ID: 6761515837 Item for Review: New Consumable In-App Purchase Timeline Submitted: July 3, 2026, at 6:28 PM As of today (July 8), the In-App Purchase has remained in "Waiting for Review" for 6 days. Context: We submitted a new app build together with this new In-App Purchase so the Apple Review team could test the updated purchase flow and the new consumable IAP. The app build has already been approved and is currently Pending Developer Release, but the new In-App Purchase is still showing Waiting for Review. Since the IAP has not been approved yet, we are unable to release the new version as planned, and our launch date is approaching. Normally, our In-App Purchases are reviewed within 1–2 days, so this delay seems unusual. Could you please help check whether there is any issue with this submission and, if possible, assist with reviewing it as soon as possible? Any guidance or assistance would be greatly appreciated. Thank you for your support.
Replies
0
Boosts
2
Views
212
Activity
2w
App Store Connect deadlock – cannot attach IAP or create new version
Hello, I have a blocking issue in App Store Connect. I need to submit my In-App Purchase together with the app (first-time approval), but: The option to attach In-App Purchases is missing I cannot create a new app version I cannot properly edit the current version This creates a deadlock and prevents me from submitting the app correctly. This does not seem like a configuration issue, but a problem in App Store Connect. Has anyone experienced this or knows how to resolve it? Thank you.
Replies
2
Boosts
0
Views
262
Activity
3w
Is it possible to make affiliate links
We are looking to do affiliate marking for our apps. This is basically where we give influencers a promo code and pay them a fee each time a user signs up with promo codes. Is this possible and within App Store guidelines?
Replies
2
Boosts
0
Views
680
Activity
3w
How can I track origin of a sale?
I work with bloggers who write reviews about my app. I would like to track sales that originate on specific sites so I can pay them commissions, like an affiliate program. For example, if a person discovers our app by reading a review, I would like to give the blogger a URL to the App Store a UTM code so that I can track if the article generates sales of my app. if there is a 3rd party affiliate program management platform or software to do this, I might be open to using it. i’ve tried searching the web and other developers about this. It should be simple but it’s elusive if it’s out there at all.
Replies
2
Boosts
0
Views
1k
Activity
3w
Referrer System at Subscriptions
Hi, I want to develop a referral system for my subscribers. If someone suggests my app and his/her friend buy a subscription I want to give the referrer a one-month free subscription or extend the existing subscription to one month for free. Is it possible to do this with offer codes?
Replies
3
Boosts
0
Views
897
Activity
3w
Help understanding subscription rejection
I have a macOS app submission that Apple rejected because of the subscription view. The reason given is: One or more auto-renewable subscriptions are marketed in the purchase flow in a way that may mislead or confuse users about the subscription terms or pricing. Specifically: The auto-renewable subscription promotes the free trial, introductory pricing, or introductory period for the subscription more clearly and conspicuously than the billed amount. The rejection pointed to Apple's HIG for In-App Purchases and an the article Auto-renewable subscriptions. The image below shows two exemplars from Apple's HIG and our subscription view (using Apple's SubscriptionStoreView). I am having troubles squaring the reason for our rejection with Apple's own HIG examples. Does anyone know of a difference between our view and Apple's examples that would prompt the rejection? The only thing I can think of is to remove the "Try It Free " by changing the modifier from .subscriptionStoreButtonLabel(.multiline) to .subscriptionStoreButtonLabel(.price) (Meanwhile, Apple's rejection because of the subscription content seems to have broken my ability to sync the StoreKit content in AppStoreConnect with Xcode(?). I am still trying to resolve problem too.)
Replies
1
Boosts
0
Views
230
Activity
3w
How to manage TestFlight subscriptions on macOS?
I purchased a subscription within my TestFlight macOS build. I would like to access a screen to manage subscriptions and cancel it. How can I do that? I can't find this screen. In the App Store app I can only see my personal purchases.
Replies
1
Boosts
0
Views
355
Activity
3w
Auto-renewable subscription says “Item already owned” when same Apple ID uses different app accounts
Hi, I’m testing an iOS app with auto-renewable subscriptions in the Apple sandbox environment. The app has its own account system. A user can create/log in with different accounts inside the app. The issue I’m seeing is this: I subscribe to the Pro plan using one sandbox Apple ID. Then I log out of the app. I create or log in with a different account inside the app, but still on the same iPhone / same sandbox Apple ID. Inside the app, this new app account is not marked as subscribed. When I try to subscribe again, StoreKit returns: “Item already owned” So Apple recognizes that the Apple ID already owns the subscription, but our app account does not have Pro access yet. The only way to resolve this is to provide a “Restore Purchase” option, so the current app account can restore the subscription already owned by the Apple ID. My questions are: Is this expected behavior for auto-renewable subscriptions? Can this happen in production too, or is it mainly a sandbox behavior? If a user has multiple accounts inside the app but uses the same Apple ID, is the subscription considered owned by the Apple ID and restorable across those app accounts? Is it acceptable/recommended to keep a small “Already subscribed? Restore purchase” option visible on the paywall at all times? If the app wants to prevent the same Apple subscription from being used across multiple internal app accounts, what is the recommended approach? For brand new Apple IDs that have never subscribed before, the normal purchase flow works correctly. Thank you.
Replies
1
Boosts
0
Views
281
Activity
3w