タイトルが言っていることはほとんど。コードは、サンドボックス環境のすべての開発デバイスと大多数のユーザーで正常に動作します。ただし、一部のユーザーから、一晩放置してもダウンロード プロセスが待機状態 (SKDownloadStateWaiting) を超えないことが報告されています。数回試行した後(アプリを完全に閉じて購入機能を復元する)、ダウンロードを開始できる人もいるため、完全にランダムに見えます.
ダウンロードを管理するために使用しているコードは次のとおりです。
- (void)paymentQueue:(SKPaymentQueue *)queue updatedDownloads:(NSArray *)downloads
{
SKDownload *download = [downloads objectAtIndex:0];
SKPaymentTransaction *transaction = download.transaction;
// Keep track of download status
switch (download.downloadState) {
case SKDownloadStateActive:
// Present time remaining and percentage
break;
case SKDownloadStateWaiting:
// Present "Waiting..." label
break;
case SKDownloadStateFinished:
[self purchaseNonconsumableAtURL:download.contentURL forProductIdentifier:productIdentifier];
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKDownloadStateFailed:
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKDownloadStateCancelled:
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
default:
break;
}
}
どんな助けでも大歓迎です。