iOS In-App Purchase tester dialog missing Apple ID entry field - ios

My Sandbox dialog used to come up with an Apple ID field but after I have entered the credentials wrong several times im now suck with a version of this dialog without the Apple ID entry field. I've tried General>"Remove all data", deleting and recompiling app to device and signing into different Gooogle accounts but nothing helps
Anyone know how to get this version of the dialog back so I can try new tester accounts?

On iOS 12+ you may have a sandbox account set up in your device settings. Go to Settings -> Account -> iTunes & App Store -> Sandbox Account (at the bottom). You can tap that account and sign-out.

Related

iOS 12 IAP Sandbox

I was watching this WWDC18 talk, and they've explicitly announced that they'll allow developers to simultaneously connect one Sandbox Account for IAP testing - when in Developer Mode and in iOS12.
Screenshot of the moment that they show the feature
Straight to the question:
I've tried to access it from both my iPhone 6S and iPhone X - both on iOS 12 -, but neither had this option at the end of the screen. Also, I've searched about this topic, and no one seems to be addressing this issue.
The "Apple ID > iTunes & App Stores" on my device
This feature is incredible because it removes the need to logout of our Apple ID - which is/was a tremendous pain.
Test note: I've tried to change Regions and Languages on my devices - both unsuccessful.
Just tried it now on iOS 12.0.1.
In Settings > Apple ID > iTunes & App Stores, click on your Apple ID (at the top of the page; it's hyperlinked). Then, select "Sign Out".
As far as I understand, you are now still signed into your Apple ID for various services like iCloud and Game Center. This is fine.
Open an app that is not signed for release (e.g. an app that you are developing IAPs on).
Try to complete an IAP (restoring purchases, or just getting the app to request your receipt, will also suffice); this will prompt the iTunes Store to ask for your login details again.
The login alert is simply entitled "Sign In to iTunes Store", and prompts you to enter an Apple ID and Password. Do not enter your personal Apple ID here; instead, enter a sandbox account's username and password.
In my case, I had initiated an IAP transaction, so I received an alert entitled "Confirm your In-App Purchase" with details of the IAP and the text "[Environment: Sandbox]"; confirm the purchase by entering your sandbox account's password.
I then received an alert entitled "Sign in to iTunes Store", this time explicitly asking me to enter the password for my sandbox account.
I returned to Settings > Apple ID and tapped iTunes & App Stores. This produced an alert saying words to the effect of "It appears that you are using [your personal Apple ID] in the Game Center; is this the same Apple ID that you want to log into iTunes with?". In this case, you should click 'Continue'. It will take you to the iTunes & App Stores screen. Note that I did not have to enter the password nor re-specify the Apple ID for this step!
On the iTunes & App Stores screen, your personal Apple ID will be indicated at the top of the screen as before. At the bottom of the screen, you will find that the Sandbox Account field has appeared! 🚀
This process could have done with some better documentation to accompany the hype, but unfortunately this is just "business as usual" for iOS development.
iOS 12.1.2 seems to have simplified the process even further than Jamie's steps without the need to sign-out of anything:
While still signed into your phone with your personal Apple ID, open a development app (NOT signed for release)
Try to complete an IAP, which brings up the iTunes Store login page
Use your sandbox ID here (NOT your personal Apple ID)
You may have to log in twice (another popup asks for just your password)
The sandboxed purchase should go through
Going to Settings > iTunes & App Store and scrolling to the bottom now shows a new Sandbox account that says "This account will be only used for testing your in-app purchases while developing locally. Your existing App Store account will be used for TestFlight apps."
That last bit about TestFlight apps is different than the OP's screenshot. Perhaps this method ONLY sets up the account for development IAP testing, whereas the full sign-out method sets up the sandbox account for more.
If you can't find [Sandbox account] in "Settings", firstly, enable location service in [Privacy] section, then, check [Date & Time] is set automatically.

iTunes account creation not allowed when trying to test In-App Purchases

I have an app in the App Store and I want to test in-app purchases. I followed the steps described on the Apple website but I'm facing some problems.
When I try to log in in the iTunes in my application or in Settings/iTunes & App Stores, I receive the error:
iTunes account creation not allowed.
This Apple ID cannot be used with the iTunes Store at this time. Please try again later
I searched the internet but I found nothing about this. It seems like I am the first to encounter this kind of error.
Looks like Apple has this poorly documented. Basically, you shouldn't log in with your sandbox user from that screen. Log in when actually prompted by your test IAP.
Source: Unable to log in with sandbox test users on device
I just had the same problem. Here's how I solved it:
Don't try to sign in Settings > iTunes & App Stores
Log out of iTunes & App Stores (make sure you're not logged into any account)
Just open the app you're trying to test
Your app will promt you to sign in
Enter your credentials for your sandbox test account
Et voilà! You're done. Worked for me. I hope it works for you.
For those who are still facing an issue, here is the solution:
From settings main screen, select "iTunes & App Store", as seen in the picture
now scroll to bottom and you will find your previous apple is still there, sign out of that, see picture for reference, and now when doing in app purchase, it will ask for both apple id and password, use your sandbox tester apple id and password there.
I had this issue. I tried changing existing Sandbox tester account password and tried to login on device...but didn't worked.
Even iPhone device restart didn't worked [last option that most developer follows ;-) ]
I thought it takes time to update this newly created Sandbox testing on DB. So left the login option as it is on device
Now, after launching app that contains In App purchase. Press on button that is responsible for In App purchase. This will prompt for Apple credentials. Enter the Sandbox tester credentials here.
Voila this worked for me!
This has changed... again. Here's how to fix it in 2020:
0) On your test device, go to Settings.
1) Click your account name at the the top, the one with "Apple ID, iCloud, iTunes & App Store" under it.
2) Click "iTunes & App Store"
3) Scroll all the way to the bottom and find the option: "SANDBOX ACCOUNT". It will have defaulted to your AppleID. Tap it and sign out.
4) Tap "Sign In" under SANDBOX ACCOUNT.
5) Add your Sand Box Account credentials. You will probably have to have verified your email address before this will work.
The top answer is correct, but if you're still having the issue:
Make sure that the app you're trying to log into is a development app installed with Xcode. You'll get the same error if your version was installed from the App Store.
(I got confused because I have 5 versions of almost the same app.)

Apple sandbox user logout before production

I developed a Phonegap iOS app that implements In app purchase. As suggested here, I used a sandbox user in order to test the IAP during the development process in iOS, but i can not find a way to switch back to my personal account to authenticate the application.
At the start of the development process, i signed out with my personal account, i didn't login with my sandbox user in General > iTunes & App Store, i started the application and i logged in with my sandbox user from that.
It is time now to pass to production and i can not figure out how to logout the sand box user from my app. If i start the application a Sign In popup is displayed and the sandbox email is there. It simply ask for the password but now chance to change the account. When i login within the application the sandbox user account is logged in General > iTunes & App Store, but if i log out from there the application is stuck with the sandbox email. In other words, it is like if the app is now linked to that email account and it does not give me the chance to change it.
I tried to remove the application (tapping on it and pressing the X button and from General > Manage storage), install it again, to soft reset the iPhone, log out from iTunes & App Store, rebuild the application in debug mode or not, including the plugin or not, in many combination but with no success.
Does anybody experienced something like this? How did you logout your sandbox user when you switched back to your personal iTunes Connect account?
I'm not sure how it looks like on previous iOS versions, but on iOS 12.0 you can open:
Settings > Your Name (Apple ID, iCloud & App Store) > iTunes & App Store
There you will find a section called "SANDBOX ACCOUNT" where you can sign out of the sandbox account you've been using.
On iOS 14 & 15:
Go to Settings > App Store
Scroll down until the end and you'll find the title "SANDBOX ACCOUNT", there you'll see the sandbox account you are currently logged in to, tap over it and it will let you change it.
I have found 2 ways to avoid the problem but first be sure to use a "fresh" testing account.
Change the Bundle Identifier in Xcode and iTunes Connect
Restore the iPhone
I go for the first one because my Testing device is also my personal iPhone and I can't afford restoring every week.
I spent so much time on that so I hope my answer can help you.

You are not authorized to make purchases of this InApp in Sandbox at this time

I'm trying to make in-app (non-consumable) in my app.
I'm trying to buy the package but I can't...
Of course, I've looked here for answer, but I have one actual account everywhere - at developer.apple.com - also I've created provisioning profiles, at itunesconnect.apple.com and in Xcode as well...
My bundle identifier is the same across the all websites and application.
The Application finds my package and show me the price of it. When I click on BUY the alert view show the text:
You are not authorized to make purchases of this InApp in Sandbox at this time.
[Environment: Sandbox]
Any ideas please?
You can use In-App purchase test users, to test In-App purchase in sandbox mode.
Create test users in the "Users and Access" section of appstoreconnect.apple.com
Before testing In-App purchase, Using the Settings app, logout your actual Apple ID and login the test user account directly via your app. (DON'T login the test user via Settings app or AppStore.)
They used to have the real iTunes login and the Sandbox iTunes login grouped back in 2017. So you would sign in to your Sandbox account while testing purchases in the app, and then it would change your iTunes login as well. Then you'd have to sign out of your iTunes through settings. Now they have a separate field on the bottom of the Settings --> Itunes & App Stores screen (called "Sandbox Account"). You have to sign in there with a provisioned Sandbox account which is added in "Users & Access" in App Store Connect. (You have to also verify that email address, and it can not use a +postfix on the email address, IF that email is used as one of your non-sandbox main accounts... Sigh...) So you have to actually create new unique emails now that are not used as part of your main accounts. (From my understanding you can still use +postfixes on your emails which are only used for sandbox accounts though :)
Now, there's still a bug with purchases where If you are not signed in with your main Itunes account, OR your sandbox account, and you try to test purchases by typing in a sandbox account (in the app), it will keep asking you for your Sandbox Email / Password over and over again, Until you type in your REAL iTunes account as well (????). That works (typing in both the sandbox account and the real itunes account). Then the sandbox purchase goes through. I'm as surprised as you are...
If your apple account has a sandbox account user, after logging in with your account, follow these steps
Step 1 : Go to settings.
Step 2 : Select iTunes & Settings
Step 3 : Scroll to the bottom. There is a section for SANDBOX ACCOUNT
Step 4 : Sign in there using your Sandbox account
Now test your app & it will work fine.
First create a new account on sandbox which is on iTunes -> Users and access -> on left hand side click on sandbox and add account on it.
And then go to your testing device
Sign out previous id from Sandbox Account and click to add a new sandbox id which have added on Sandbox tester.
Thank you!
I have multiple Apple development organizations associated to my account on App Store Connect. The reason I was getting this error was because my Sandbox Tester was created in an organization that wasn't associated with the app I was testing.
I swear the organization was right when I was adding the Sandbox user, but I can't be sure. It never hurts to refresh App Store Connect an extra time and double check the Sandbox Tester is in the correct organization.
I had this issue as well when I accidentally tried to make an in app purchase on our TestFlight app using sandbox account credentials created in the App Store connect Sandbox Testers section. So if you are experiencing this issue just make sure you are using sandbox account credentials for your dev or staging apps. With the TestFlight app version you should use your real Apple ID credentials (you won't be charged of course as TestFlight still uses the Sandbox environment for in-app purchases).
For more information checkout https://developer.apple.com/documentation/storekit/original_api_for_in-app_purchase/testing_at_all_stages_of_development_with_xcode_and_sandbox
https://developer.apple.com/documentation/storekit/in-app_purchase/testing_in-app_purchases_with_sandbox
Try this check-list
Create test user #App Store Connect > "Users and Access" section. (Apple Doc - https://help.apple.com/app-store-connect/#/dev8b997bee1)
Logout older sandbox id from App Store & login new sandbox id, here is the steps for iOS & macOS
iOS: Open "Settings" > "App Store" > "SANDBOX ACCOUNT" (will be at bottom of screen)
macOS: Open "App Store" app > "Preferences.." > "Sandbox Account" section will be at bottom
First,make sure the account of your in test app is right.
Second,when you are working in the app,click the recharge button,and input the right account for testing.

Submission with Xcode 6 to iTunes Connect causes error ITMS-4088

I need to submit an iPhone app to the iTunes Connect account of my customer, by using Xcode 6.
With Xcode 5, during the submission process, we are requested to provide the iTunes Connect login credential to which submit the app.
It was just needed to ask the customer's team agent setting up an iTunes Connect user account for me.
This process was working fine.
Within Xcode 6 the app submission has been changed and it's not requested for iTunes Connect login. So it seems to be using the default iTunes Connect account corresponding with the Apple id configured in Xcode.
So trying to upload an app for the account of my customer I get the following error:
"ERROR ITMS-4088: "The organization XXXX does not have permission to modify the application with the Apple Id XXXXXXXXX. Please try again, using an account for an organization with access to this application." at SoftwareAssets"
Someone you already encountered this problem ? Do you have an idea how can I solve it?
Thanks
Edit (Some precision about my settings):
I'm working for several customers and so I configured my Apple accounts as follows:
I have only one Apple developer Account associated to an Apple Id: my.first#email.com
my developer account is associated to the developer account of some of my customers when I need to make changes with provisioning for instance. And so signing in to developer.apple.com I have to choose the right team I need to work for. It's relatively easy to do by this way.
For iTunes Connect I have my main account with the same Id as the Apple Id: my.first#email.com
When I need to submit an app for a customer it's not the same story as for the developer account. Indeed within iTunes Connect, it's needed to provide a new email each time you need to be added to the account of a customer. So I created several redirections of type my.second#email.com, my.third#email.com...
For submit an app for a customer with Xcode 5 simply choose the right iTunes Connect account when Xcode invite you to do that in the Organizer's submission process.
With Xcode 6 there is the error above.
The Problem with Xcode 6 is that this one does not request anymore to choose the iTunes Connect account to which the current app has to be uploaded.
Xcode seems now to expect uploading the current app to one of the accounts defined in the Preferences panel. However the Preferences’ account section waits for developer Apple Id and not for iTunes Connect account Id. When I added iTunes email to this section I got errors such as: not valid Apple Id or Apple Id not added to a developer account.
Perhaps a solution could be to add each iTunes Connect Id to the corresponding developer team (developer.apple.com) but it’s very constraining.
Another solution could be to have and Apple’s enterprise developer account instead of personal account, what would allow to add the iTunes Connect Id to your own developer account but I’m not sure this one could solve the issue because I get a personal developer account yet.
After few researches within Google and documentation, I deduced that either there is a bug within Xcode 6 or it’s now very difficult to use in this case, and I gived up to use it to submit this app.
Instead of Xcode I used the Apple’s Application Loader 2.9.1 which is very ease to use and make the submission faster.
It has been the final answer to my issue.
in your organizer Press in Export.
Save for ios appStore.
Generate Ipa.
Go to Application Loader (In Xcode-- Open developer Tools)
double Click in Deliver Your App
Select IPA.
good luck.
I had a similar issue:
For Team XYZ In iTunes Connect I was an Admin with AppleId A
In the Member Center (developer.apple.com) I was an Admin with AppleId B
Once AppleId A was added to the Member Center as an Admin I was able to successfully submit an app via XCode.
So it seems as though the AppleId for Member Center and iTunes Connect must match for each team.
Hope that helps someone,
Kevin

Resources