I am having exactly the same problem as described here :
I am testing an app on a iOS11 and getting a PopUp asking to sign in to iTunes Store [Sandbox] every time I start the application - even I am not logged into iTunes/App Store anymore under Settings. After entering the password the popup disappears, but comes again once the app is being started again. A never-ending loop…
According to the Apple documentation the message is stored on device in a StoreKit queue - because its processing was not successfully finished by calling “finishedMessage()”.
According to Apple technical note the message can be removed by calling “finishMessage” in paymentQueue(_:updatedTransactions:):
I see no callback “updatedTransactions” in sdkbox::IAPListener which would allow me to finished this message. I’ve added a log into all sdkbox::IAPListener interface methods:
No one will get called after I enter a correct password - keeping the message in the queue and prompting for password every time I start the application again.
Is there a SDKBOX solution for this case? I do not want to restore device OR write an own observer in Objective C.
it was triggered by “restore()” call, which took too long, so the app was closed and then reopen
a productive user (not a special itunes connect sandbox user) was configured under Settings and used for restore
after reopening the popup with password appeared (and is still appearing)
It is a local “device” issue - the same user on other device is working propertly. Calling of “finishMessage” would make sence, but first I need to get the message, which is in the queue on the device - and then with its parameters I could call it.
Currently it looks like SDKBOX does not „see“ such messages.
I do not want to reproduce the problem again on my phone - I have already one non processed message in the local queue and do not wish to have two of them - without having a solution
it makes no sense to make a video of a starting application, which immediately brings a popup. I just made a printscreen (s. PS). This popup appears immediately after starting the application. If SDKBOX routines (I have to comment ALL of them out):
are commenting out, the popup does not appear if the application is started again.
The application is calling neither restore() or purchase(), it is enough if
sdkbox::IAP::setDebug(false);
will be called and immediately after this call a popup appears.
this problem is definitly linked to sandbox environment:
A) deleting app, which was installed from Xcode
B) installing a productive version from Apple App Store => No Popups at all, even the same user is configured under Settings => iTunes/App Store
C) delete app downloaded from app store
D) install a new test version from Xcode => Popup appears again, entering of a correct password does not solve the issue, the popup appears always (even on app closing)
it is exactly the same problem as described in detail here and the solution is to call finishTransaction() in the (void)paymentQueue:(SKPaymentQueue_)queue updatedTransactions:(NSArray_)transactions method as described in Apple technical note - search for “Finish the transaction”.
So the question is, does SDKBOX offer such callback?
If you have any debug library/project, send them to me, I can run them with a phone, on which this stack local message exists.