我目前正在开发一款应用程序,允许用户通过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%,您会认为它实际上没有下载
有没有人对此有任何提示或者它可能是一个错误?
谢谢Aaron