In-App Purchase Question

Folks;

Running on a Developer Transition Kit - (A12Z) macOS 11.2  - Xcode 12.3

I have built a free to download Mac App which has a variety of in-app purchases; some are auto-renewing subscriptions, some are non-consumable.
(all of these in-app purchases have been approved by Apple)

I am experiencing difficulty testing in the sandbox.

I have logged out of my user account in the Mac App Store.
I have removed the existing Container folder from user’s Library folder.
I have created a brand new testing account in App Store Connect.
I have done a clean and build in Xcode.

When I then run the app I am prompted to ‘Sign in to use this application on this computer’.
(“AppName” was purchased using the App Store on another computer….)

I enter the new AppleID I just set up in App Store Connect and then I am prompted for a password.

After I supply the password the app crashes:

Code Block
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
  dyld: Using shared cache: 775BB65E-F213-3A39-ACF0-7343BCDE1E6C
Library not loaded: @executable_path/../Frameworks/……..
  Referenced from: /Users/USER/Library/Developer/Xcode/DerivedData/AppName-hcuqdwzeykfjvqfdldsnjiocbxtj/Build/Products/Debug/AppName.app/Contents/MacOS/AppName
  Reason: image not found


If I immediately re-run the application at this point I get a successful launch....

As part of my app’s normal launch I process the receipt.

During this successful re-launch the receipt is found and is correctly processed. It correctly determines that no in-app purchases have yet been made.

In the app code I successfully perform an SKProductRequest (I receive the correct information back).

Based on this SKProductRequest success I then attempt to make an in-app purchase which uses the product information from the SKProductRequest

I am prompted to ‘Sign in to the App Store’
(If you have an Apple ID, sign in with it here.  [Environment: Sandbox])  Buttons: Cancel  & Buy - there is a textfield to enter an Apple ID

(the pre-filled in Apple ID is NOT the Apple ID I submitted during the initial launch….

When I click the ‘Buy’ I am prompted for the password.  

When I supply the password I then prompted with a different dialog window ‘Sign In to the App Store’
(If you have an Apple ID, sign in with it here.  [Environment: Sandbox])  Buttons: Cancel  & Buy - no textfield to enter an Apple ID

If I click the ‘Buy’ button, the dialog window disappears for a second or two and then re-appears

After the 4th such 'Buy' click I see an error logged by SKPaymentQueue:
Code Block
<SKPaymentQueue: 0x600001a13b80>: Payment completed with error: Error Domain=ASDErrorDomain Code=500 "Unhandled exception" 
UserInfo={NSUnderlyingError=0x600001612700 {Error Domain=AMSErrorDomain Code=306 "Reached max retry count" 
UserInfo={NSLocalizedDescription=Reached max retry count, NSLocalizedFailureReason=Task reached max retry count (3 / 3);}}, 
NSLocalizedFailureReason=An unknown error occurred, NSLocalizedDescription=Unhandled exception}

Can anyone provide some clarity as to what I am doing wrong? Any thoughts appreciated!!
Steve
Post not yet marked as solved Up vote post of SwampDog Down vote post of SwampDog
1.2k views

Replies

Did you ever figure this out? I am getting a lot of Code=306 "Reached max retry count" errors in Production when users attempt to make a purchase. Apple can't fix/debug it unless I can provide a way to reproduce it.