2

我目前正在开发一个应用程序,该应用程序允许用户购买 Apple 托管的可下载内容,到目前为止,我的代码在用户可以购买并且下载完成并且文件完好无损的情况下工作。

但是我想向用户显示下载进度,因为一些文件非常大,但我发现 SKDownload.progress 运行到大约 60% 或 80% 然后突然停止。

在我的代码中,我正在执行以下操作:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedDownloads:(NSArray *)downloads
{
    for (SKDownload* download in downloads)
    {
        switch (download.downloadState)
        {
                // The content is being downloaded. Let's provide a download progress to the user
            case SKDownloadStateActive:
            {
                self.status = IAPDownloadInProgress;
                self.purchasedID = download.transaction.payment.productIdentifier;
                self.downloadProgress = download.progress*100;
                NSLog(@"progress: %f", download.progress);
                NSLog(@"%f remaining", download.timeRemaining);

                [[NSNotificationCenter defaultCenter] postNotificationName:IAPPurchaseNotification object:self];
            }
                break;

但是当我检查日志时,它会显示进度,但会停在这里:

2015-02-23 18:59:20.122 AppName[1514:224651] progress: 0.800000
2015-02-23 18:59:20.123 AppName[1514:224651] 0.715862 remaining

我还向用户显示了一个进度标签,从用户的角度来看,在观看下载时,当你看到的最后一个数字是 60% 或 80% 时,你会认为它实际上没有下载

有没有人对此有任何提示,或者它可能是一个错误?

谢谢亚伦

4

0 回答 0