In order to test my in-app purchases with iOS 13 I have to update one of my test devices to iOS 13.1 beta.
On iOS 12 and before there was a special Sandbox login in Settings/iTunes & App Store/Sandbox Account
:
However, after the update to iOS 13 this section is missing. I tried to follow the instruction in the answer to a similar problem on iOS 12 but nothing worked. I completely reset the device and logged out both at Settings/iTunes & App Store
and at Settings/Apple ID
, so currently the device is not connected to any account (real or sandbox). At least as far as I can tell.
I have re-installed my app on the devices using Xcode 11 beta and tried to perform an in-app purchase. The store shows a login prompt which shows that this is a Sandbox purchase. However, the prompt only asks for the password, not for a username or Apple ID. So I have no idea which account should be used here.
When using the password of a newly created test user account the password is not known. I can use the password of my real Apple ID account which was used during the device setup and was then disconnected.
So, how to connect to a specific Sandbox account in iOS 13?
Here's what worked for me (on a dedicated development iPhone 6s running iOS 13.3).
It took entering the credentials a couple of times, but the In App purchase dialog alert did say the environment was Sandbox.
After it "made good" (that is, stopped asking me to log in and processed the SKPaymentTransation), I was able to go to iTunes & App Stores in the General Settings, scrolled to the bottom, and now the Sandbox Account appears with the tester account showing.
Now when I run the app and click the button to purchase content, it just asks for the tester password.
Hopefully this helps others.