SKPaymentTransaction.downloads is empty

Hi,


My app has been shipping for a couple of years. I've never had any problems with In-App Purchases before today, but a few hours ago users started reporting that content wasn't being downloaded successfully. The app reports an error after a purchase is made (shown in the code below).


All of my In-App Purchases are non-consumable and have downloadable content hosted by Apple.


Here're the relevant snippets of code:


- (void)paymentQueue:(SKPaymentQueue*)queue updatedTransactions:(NSArray*)transactions
{
  for (SKPaymentTransaction *transaction in transactions) {
    switch (transaction.transactionState) {
    case SKPaymentTransactionStatePurchased:
      [self transactionComplete:transaction];
      break;
    ...
- (void)transactionComplete:(SKPaymentTransaction*)transaction
{
  [_delegate onBuySuccessful:transaction];
}


In the delegate:


- (void)onBuySuccessful:(SKPaymentTransaction*)transaction
{
    ...
    if (transaction.downloads.count == 0) {
      [inAppPurchaseHelper finishTransaction:transaction];
      // Error is reported here
      return;
    }
    ...


So, I think the only way this can happen is if SKPaymentTransaction.downloads is empty when the transactionState is SKPaymentTransactionStatePurchased.


I've checked on iTunesConnect, and all of the In-App Purchases appear to be present and correct. I did have an updated legal agreement to review, but I'm assuming that couldn't cause this? In any case, I reviewed and accepted it a couple of hours ago and the problem still persists.


What's the correct way to handle this situation? Could there be a problem with my hosted content, or is this an expected condition and, if so, how should I access the downloadable content for the In-App Purchase?


Many thanks in advance!

Replies

I have the completely same situation as yours since yesterday, Jun 21, 2017. My app's hosted content feature was released in February this year and had been working till yesterday.

Please tell me how to fix this problem if you find the solution.

I can confirm that we are in the same situation. We released an update on June 20th and IAPs stopped working in production some time later that day.


SKProducts are returned, SKPaymentTransactions are received and processed, however downloads fail to begin. If transaction.downloads was nil or empty that would certainly be consistent with what we are seeing.


It's worth mentioning that the relevant IAP code was not changed in our update, and IAPs are working perfectly in the sandbox environment.


I contacted a member of Apple's Developer Support (UK) yesterday and have been told it is being looked at.


Edit: I made Apple's representative aware of this thread and have been informed that our issue is being escalated to an engineer. I have made it clear that you guys have similar issues.

We are having the same problem. The timing seemed odd to us since it started happening right around when an update (with updated IAPs) was approved by reviewers. We released the update today and the problem remains. This is a critical issue for us and hopefully Apple can fix it quickly.

I reported the issue to Apple as well, bug ID 32924735.

We are seeing the exact same problem. We just noticed it yesterday when our customers started complaining. I contacted iTunes Connect support and they indicated this was a Developer Technical Support issue. We really need this to be fixed ASAP.

is To all,


If this issue has just suddenly occurred - with production apps on the app store - this is a bug report issue to be investigated by the Apps Ops Engineering QA group. Please submit a bug report as follows


Go to the Apple Developer Bug Report web - http://bugreport.apple.com

Select the iTunesConnect product, version Other

In the bug report include the application ID of the app

indicate that this issue is with the production app

describe the steps on how to find the in app purchase item - make sure to be specific as to the iAP which is associated with hosted content.

indicate the iTunes Store - US, Canada, Japan, China, etc.


When you have saved the bug report, send me the bug report number and I’ll see that the issue is passed the the correct group.


Ideally, Apps Ops Engineering is already aware of the issue. but I don't know this to be the case. I welcome all bug reports.


rich kubota - rkubota@apple.com

developer technical support CoreOS/Hardware/MFI

Thanks Rich! I just submitted bug 32932748 to the iTunes Connect product. We have found the problem affects both of our apps that have hosted content - and one hasn't been touched since August 2016.

Hi Rich,


Thank you - we have also submitted a bug to the iTunes Connect product as instructed: 32933434


Kind regards,


Alex

I've forwarded both issues to the Apps Ops Engineering team for investigation.


rich kubota - rkubota@apple.com

developer technical support CoreOS/Hardware/MFI

Hi Rich, I just finished sending details to ITC before I found this thread: 100220710018

Indeed, thank you Rich! I wasn't sure whether this was a bug, or whether I was missing something in the way I handle downloads. I've submitted bug 32941809.

Thanks Rich - I think we have this problem too, I have just reported as bug number 32944313

Bug reported: 32946879

Thanks Rich-san,

I have reported as 32947495.

Thanks Rich-san, I have reported as 32948379.