私は現在、ユーザーが Hosted by 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% の場合、実際にはダウンロードされていないと思います。
これに関するヒントはありますか、それともおそらくバグですか?
ありがとうアーロン