开发者

IPHONE: Storekit - aborting transactions restoring (in-app purchase)

As "suggested" by Apple, I have put a button on my a开发者_C百科pplication, to restore old successful transactions, in my in-app purchase application.

The problem is this. The user clicks the button and the application starts restoring the transactions. If the application is closed for some reason during this process, the process will continue the next time the application runs.

In my case, restoring all transactions can take some time, specially if the user has many transactions. So, when the application starts again, I see a black screen and the application do not loads until the last transaction is restored.

Apparently the process of restoring the transactions hangs the application that do not loads until it finishes.

As Apple recommends, I have this, on the beginning of my app...

CustomStoreObserver *observer = [[CustomStoreObserver alloc] init];
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];

This is useful for restoring interrupted sales but in my case is causing a pain when the question is restoring old transactions already bought.

I would like to be able to abort any restoration of old transactions that could run, when the program starts and just allow them while toe app is running.

Any way to do that?


Can you not create the store observer in a different thread/run loop so that it doesn't block the UI thread?

Failing that, only add the transaction observer after you have made a splash screen visible?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜