Same for me. My code was working fine and now my SKProductsRequest is failing every time at didFailWithError, with error code 1001, which seems to indicate a time out issue. I haven't changed any of the code since it was last working, so I'm guessing and hoping its an Apple issue.

Yup, it's been that way for almost a week on my side. I checked on the adhoc version of the build that's currently on the appstore, same behavior. Live users are able to purchase stuff, so it's definitely a sandbox issue.

No idea what iTunes team is doing, but they sure are taking their sweet time fixing it.

Same here. This has been failing sporadically for months, sometimes works fine without issue, other times I just can't do any testing and have to just wait for it to start working again. Given how many Apps use InApp purchases you'd think this would work more reliably.

To help get attention on this matter, please submit a bug report. Once you've submitted the bug report please send me the bug report number so that I can forward them to iTunes Server engineering. My direct email address is "rkubota@apple.com". If you've already submitted the bug report, please send me the bug report number.

To submit a bug report on this issue, iTunes engineering has requested the following.

1. Launch the Console app and select the device in the left side of the Console window

2. Before starting the iOS app, click “Clear”.

3. Start the application and perform the steps to replicate the problem.

4. When the issue occurs, trigger the sysdiagnose archive. Note the time of the event.

5. save the contents of the Console log. Please verify that the string “fetchSoftwareAddOns” appears in the console log. If this string does not appear, then the profile was either not installed properly or the device was not restarted after the install to the device.

6. Wait 5 minutes after triggering the sysdiagnose archive, then sync the device with iTunes.

7. When the sync is finished, navigate to the location of the sysdiagnose logs

To submit a bug report for investigation by iTunesConnect, please use the Apple Developer Bug Report web page - http://bugreport.apple.com.

After logging in, select the “Other” Product.

Fill out the bug report form. In the description section -

make sure to include the application ID

add the in app purchase identifiers which are failing

attach the console log as well as the sysdiagnose archive which you captured.

Indicate whether the problem is with the sandbox or production version of the app.

Thank you for everyone who has submitted bug reports and forwarded the bug reports to me. I'm aware that we are investigating this issue.

For anyone who has not submitted a bug report, I would urge you to submit a bug report, to indicate you are affected and that the problem persists. As evidence, please open the Terminal app and ping the sandbox server. Capture the results and paste them into the bug report.

user$ ping -c 5 sandbox.itunes.apple.com

To submit a bug report for investigation by iTunesConnect, please use the Apple Developer Bug Report web page - http://bugreport.apple.com.

It appears that the issue with sandbox testing affects some of you, but not everyone. It also turns out the the use the ping command can indicate a false positive for the problem. We’ve identified cases where the ping fails, but the In-App Purchase app is able to connect with the sandbox server and complete transactions.

In order to investigate this issue, the iTunes Server engineers have asked that bug reports be submitted with more complete information, including a sysdiagnose archive from the device. Such device will show additional information about the problem which a ping cannot.

If you do this on the test device using the Safari browser, you can install the profiles to the device directly from the web site.

Install the following profiles

1. “App Store/iTunes Store for iOS” profile

2. “sysdiagnose for iOS” profile.

After all profiles are installed, please restart the device.

Please review the instructions for triggering the sysdiagnose profile and how to use iTunes to download the archive file by syncing with the device.

Make sure you are familiar with triggering the sysdiagnose log, then perform the steps to replicate the problem. When the failure occurs, trigger the sysdiagnose profile, wait 5 minutes, then sync the device with the iTunes app and find the sysdiagnose archive file. While reproducing the problem it will help to capture screenshots showing evidence of the connection failure.

add a sequence of steps that a new user will take to use the app to find the In-App Purchase item

describe the evidence provided by the app that a network failure occurred. If there is a delayed response, indicate the approximate delay time.

Please include the sysdiagnose archive as an attachment to the bug report.

If you have a TestFlight build of the sandbox version of the app, please send an invitation to “apps_test@icloud.com”. Please include the bug report number in the invitation so that the test engineer knows which bug report to associate with the invitation.

We are having similar issue with our App. When we test in in Sandbox environment, the in-app purchase works fine all the time, but when we submit the app for review, the app gets rejected because the purchase would not complete with error (Cannot connect to iTunes Store error is 2). Our app got rejected twice already. We have no idea how to troubleshoot. Has anyone seen this issue occurring only during the app review and were able to get past it?

I've finally replicated the issue by taking a hint post above by seansy. I created a new test user account. Then I attempted the in-app purchase and it failed when I used the new test user account. Since I was using iOS 12 on my iPhone, i also found that when I entered the Settings app -> iTunes & App Store -> Sandbox Acct setting

and entered my new test user account credentials, the test user field remained blank. When I entered a test user account which I'd been using for a while, the test user field was updated. I captured the console log for both cases and observed a "failure to authenticate" error prior to the call to the updatedTransactions method.

For those that are experiencing this problem. If you have iOS 12, are you able to replicate the problem in the Settings app.

As a workaround suggestion, if you can submit a TestFlight build so that you can use your existing iTunes accounts(created before Sept '18) in sandbox mode, I would expect that things will work. If not, this would be another bug report issue.

Thanks, Rich, this was helpful. I tried an old sandbox account and it worked in my iOS 12 app in debug mode. For whatever reason it only worked the second time I launched the app. The first time, the login dialog with username and password kept coming indefinitely.

The second time, I only had to enter the password once to confirm the purchase—as it should be. Also, I verified that in the App Store settings, the sandbox account is memorized correctly.

When using a new sandbox account I can confirm that the purchase request fails and the account is not memorized in the App Store settings.

However, memorization in the App Store settings never works (with old and new accounts) directly in the App Store settings app. It only works when authenticating within the app with an old sandbox account.

This sandbox system really is terribly fragile. It seems to only work at full moon when a black cat walks from the left side over the street!

Can you give us any guidance on going through the review process? We have a live app in the store right now that we are adding In-App Purchases functionality with next release. Our app is rejected due to this issue. Apple review team is not able to test it as their sandbox account is experiencing the same issue. we are stuck.

I am not even making any purchases; just trying to request products brings me to request(_ request: SKRequest, didFailWithError error: Error) with Error Domain=SSErrorDomain Code=2 "Cannot connect to iTunes Store"

Sorry for the delayed response - if the SKProductsRequest is failing, this would appear to be a bug report issue. However, the first thing I'd do is collect a console log from the Apple TV with the StoreKit profile active. I'd then include the console log with the bug report. Here's the instructions for doing so.

To install the StoreKit profile onto the Apple TV please follow these instructions

1. On your macOS system (10.12 or later) open Safari and navigate to the Developer Bug Reporting - Profiles and Logs web page

2. Download the “App Store/iTunes Store for iOS” profile. You will see the file “itmsdebugging-2.mobileconfig” in your Downloads folder.

3. Enable Remote debugging with the Apple TV with your macOS system (see below if you aren't familiar with this step)

3a. Open the Settings app on the Apple TV - Remotes and Devices -> Remote Apps and Devices

3b. On the macOS system, launch Xcode -> Window menu -> Devices and Simulators. Select the Apple TV and follow the instructions to connect with the device.

4. On the macOS system, launch the “Apple Configurator 2” application. You can install the Apple Configurator 2 app from the Mac App Store.

Within Apple Configurator 2, select the Apple TV, then click on the “Profiles” item on the left column.

Navigate to the “itmsdebugging-2.mobileconfig” file and select it.

5. Go to the Apple TV and enable the installation of the profile - After the install is complete, restart the Apple TV.

To access the Console from the Apple TV, open the Apple Configurator 2 app, select the Apple TV and click on the “Console” item on the left side.

Clear the console log, then start your application.

6. When the issue occurs, save the contents of the Console log

Check the contents of the console log for the string “fetchSoftwareAddOns”. If this string is not present in the log, the profile was not active. Please re-install the StoreKit profile and make sure to restart the device.

Instructions to enable Wireless Debugging

Requirements - Xcode 9.0 or later on macOS 10.12.4 or later

Requires tvOS 11.0 or later

Both the macOS system and the tvOS device must be connected to the same WiFi network

Its now April 2020, using iOS 13.3 and this issue isn't resolved.I'm totally unable to complete a purchase in the sandbox, "Cannot connect to iTunes store" error all the time. This is for an existing app in the app store, need to add some new features and overhaul to it, but am totally blocked with this problem.

Anybody else still encountering this issue and have any work arounds that work?

Same problem here. We have been pulling out our hair trying to test our subscriptions. This has to be one of the worst developer experiences I have had in my 20 year career. Dealing with Apple subscriptions and sandbox accounts has been a nightmare. It is stopping us from getting our clients application submitted to the store and frustrating all parties involved. It seems to work sporadically and is very unreliable.

This is happening for us now too. Everything was working fine earlier today (like... 2 hours ago) but now we're stuck waiting until this is fixed... Any ideas? Do I have to make another sandbox user (which in and of itself is a bit of a chore)?

Something appears to have broken with auto-renewable subscriptions. The user is able to verify their subscription. It shows an accurate renewal date. However, the actual renewal is not confirmed and the user cannot progress past the purchase screen. This behavior does not appear in the sandbox... only in production.

Incoming Links

This site contains user submitted content, comments and opinions and is for informational purposes only. Apple disclaims any and all liability for the acts, omissions and conduct of any third parties in connection with or related to your use of the site. All postings and use of the content on this site are subject to the Apple Developer Forums Participation Agreement.