sandbox / login alert showing up endlessly

685 views Asked by At

I am trying to implement in-app-purchases in my app. For a while now, I keep on getting following alert (appears a good 60 times or so).

... ah SO just tells me, I may not post a picture because I'm below 10 reputation ... well, sorry, no screenshots then:

  • alert title: Anmeldung erforderlich
  • alert body: Tippen Sie auf "Weiter" und melden Sie sich an, um nach verfügbaren Downloads zu suchen. [Environment: Sandbox]
  • alert buttons: "Abbrechen" and "Weiter"

Sorry I was not able to get this alert in English, even though I set language and region to English. (The alert is German btw).

---- if I'm writing out the alert I might as well attempt to translate it here:

  • alert title: Login Required
  • alert text: Choose "OK" and login in order to check for available downloads. [Environment: Sandbox]
  • alert buttons: "cancel" and "Continue"

On choosing "Weiter" ("Continue" / "OK") I am requested to enter my apple ID and my password, but it if I do so nothing noticeable seems to happen. I tried to track down when exactly the alert starts showing. It seems to happen on calling the [SKPaymentQueue defaultQueue].

 [[SKPaymentQueue defaultQueue] addTransactionObserver:self];

Worse than that, after exiting the app this alert keeps on popping up in other apps too. I've read some SO posts about Sandbox Testers go bad and cause similar errors. This might well be, but this alert does not only show on my Test-Account, my normal account, but also on other devices if the app is installed via testFlight.

As for the app and the IAP: The IAP is a renewable subscription, no Apple hosted content, I'm only using Apples StoreKit. Further I made sure that all pending transactions are finished.

Edit: So after trying out different things I could find out that much: In my app there was a mixture of approaches to the IAPs. Partly I was using the old API and mixed it with Apples new SKPaymentTransactionReceipt for validation. I now omitted all the code regarding the receipts. This is a shame since I need the expire date of the receipts and transactionReceipts have been deprecated. But the effect this change created is, that I do not get this alert as often any more. No it only shows in my own app if I'm using a sandbox test user and then only once. It doesn't help me understand the problem and it's not a permanent fix, but I hope this helps someone else encountering this alert a little at least.

0

There are 0 answers