Reputation: 1051
I make a fresh install of my App on my iOS device. (I had deleted it, signed off from the GC account).
After the App launch, 'paymentQueue: updatedTransactions:
' gets called. It has one transaction with transactionState' == SKPaymentTransactionStatePurchased
. (It's the only iAP my App has, in fact).
And then the GC Sandbox Login ViewController is presented.
Why does the iAP object get the Bought State, if I haven't logged in neither with an iTunes account or GC account?
I am not login on Game Center, that's for sure. But I'm not so sure about being being logged in with an iTunes Store Sandbox account. (Does that even exist?) If so, how do I log off?
I want to be able to test my App's 'Restore' button, but as the function already gets called, and the item is shown as bought, I can't... Why does even the function get called when I add the observer to the SKPaymentQueue
? To check unfinished transactions? But it shouldn't do so as I'm not supposed to be logged into an iTunes Account...
Please, tell me any ideas you have, this is making me go crazy.
Upvotes: 0
Views: 254
Reputation: 2342
It sounds like you might be failing to call [SKPaymentQueue finishTransaction:]
after your transaction is processed - the IAP system will keep attempting to deliver the transaction on every startup until you do that. So just add that call when you're done processing the transaction and you should be all set.
Upvotes: 1