I’m trying to get approval for an update to my app to transition from paid model to IAP subscription. This is my first time submitting an app with IAP. This is my current state:
App submission shows rejected
IAP subscriptions show "Development action needed"
Localization (for all subscription plans) was showing "Rejected"; I updated (only) the review notes for each subscription plan, and now the status for the localization of each subscription is "Prepare for submission" (the status for each subscription is still "Development action needed")
I'm at a loss for what needs to be done, and in what order. Sandbox testing has been working fine all along.
1 - I noticed my submitted binary was missing the "In-App Purchase" capability in Xcode (under target capabilities). Could this be the reason? Is this even needed? I am surprised that weeks of sandbox testing without the IAP capability added in Xcode has been working fine.
2- I seem to be in a chicken and egg situation,
Do I need to submit localizations first for review and how? Do I need to submit the subscriptions first for review and how?
It seems modified/new localizations need approved subscriptions, and new/modified subscriptions need an approved app with IAP support first, is this correct understanding?
As I mentioned, in the current state, I can see the app working fine with sandbox testing
Appreciate any help with step-by-step instructions to get past the review.
Post
Replies
Boosts
Views
Activity
I'm testing subscription downgrade and upgrade cycles in sandbox, and seeing a behavior I can't explain.
Code is generally similar to WWDC sample code for StoreKit2, including listening to incoming transactions.
Three entitlement levels, say, Standard, Plus, Pro
Corresponding subscription plans all same duration (quarterly)
I go through this purchase sequence quickly,
Purchase the Pro plan
Before the Pro plan expires, purchase the Standard plan
Still before the Pro plan expires, purchase the Plus plan
Transaction.currentEntitlements after each of the purchases (logged in transaction listener),
After step 1: { Pro plan }
After Step 2: { (only) Pro plan }
After Step 3: { Plus plan , Pro plan }
I was expecting to see {Standard, Pro } in entitlements after step 2 (user entitlement calculated from the set is still correct -- Pro). If that's not the case then why after step 3 entitlements includes both Plus and Pro plans?
The error below started today 10/17/2024 (on iOS 18.1 beta 5/6/7 at least) in StoreKit sandbox testing. Outside code/app, I can't even login to the test account in settings->AppStore->Sandbox Account (goes through email/phone confirmation and then silently fails).
Tried a different password for a new sandbox test account with no success...Anyone experiencing this?
P.S. Status page (https://developer.apple.com/system-status/) shows some related outage from two days ago, but no current problem.
Error: Purchase did not return a transaction: Error Domain=ASDErrorDomain Code=530 "(null)" UserInfo={NSUnderlyingError=0x3009ca040 {Error Domain=AMSErrorDomain Code=100 "Authentication Failed The authentication failed." UserInfo={NSMultipleUnderlyingErrorsKey=( "Error Domain=AMSErrorDomain Code=2 "Password reuse not available for account The account state does not support password reuse." UserInfo={NSDebugDescription=Password reuse not available for account The account state does not support password reuse., AMSDescription=Password reuse not available for account, AMSFailureReason=The account state does not support password reuse.}", "Error Domain=AMSErrorDomain Code=306 "Reached max retry count Task reached max retry count (3 / 3);" UserInfo={AMSDescription=Reached max retry count, AMSURL=..., NSDebugDescription=Reached max retry count Task reached max retry count (3 / 3);, AMSFailureReason=Task reached max retry count (3 / 3);, AMSStatusCode=200}" ), AMSDescription=Authentication Failed, NSDebugDescription=Authentication Failed The authentication failed., AMSFailureReason=The authentication failed.}}, storefront-country-code=USA, client-environment-type=Sandbox}